import { IImport , NamedMember } from "import-sort-parser" ; export interface IStyleAPI { member : ISelectorFunction ; moduleName : ISelectorFunction ; name : INamedMemberSelectorFunction ; alias : INamedMemberSelectorFunction ; always : IMatcherFunction ; not : ( matcher : IMatcherFunction ) => IMatcherFunction ; and : ( ... matcher : IMatcherFunction [ ] ) => IMatcherFunction ; or : ( ... matcher : IMatcherFunction [ ] ) => IMatcherFunction ; hasNoMember : IMatcherFunction ; hasMember : IMatcherFunction ; hasDefaultMember : IMatcherFunction ; hasNamespaceMember : IMatcherFunction ; hasNamedMembers : IMatcherFunction ; hasOnlyDefaultMember : IMatcherFunction ; hasOnlyNamespaceMember : IMatcherFunction ; hasOnlyNamedMembers : IMatcherFunction ; hasMultipleMembers : IMatcherFunction ; hasSingleMember : IMatcherFunction ; isNodeModule : IMatcherFunction ; isRelativeModule : IMatcherFunction ; isAbsoluteModule : IMatcherFunction ; isScopedModule : IMatcherFunction ; isInstalledModule ( baseFile ) : IMatcherFunction ; startsWithUpperCase : IPredicateFunction ; startsWithLowerCase : IPredicateFunction ; startsWithAlphanumeric : IPredicateFunction ; startsWith ( ... prefixes ) : IPredicateFunction ; naturally : IComparatorFunction ; unicode : IComparatorFunction ; dotSegmentCount : ISorterFunction ; } export interface IMatcherFunction { ( i ) : boolean ; } export interface ISorterFunction { ( i1 , i2 ) : number ; } export interface INamedMemberSorterFunction { ( n1 , n2 ) : number ; } export interface ISelectorFunction { ( f ) : IMatcherFunction ; ( c ) : ISorterFunction ; } export interface INamedMemberSelectorFunction { ( c ) : INamedMemberSorterFunction ; } export interface IPredicateFunction { ( s ) : boolean ; } export interface IComparatorFunction { ( s1 , s2 ) : number ; } export interface IStyleItem { match ? : IMatcherFunction ; sort ? : ISorterFunction | ISorterFunction [ ] ; sortNamedMembers ? : INamedMemberSorterFunction | INamedMemberSorterFunction [ ] ; separator ? : boolean ; } export interface IStyle { ( styleApi , file ? , options ? ) : IStyleItem [ ] ; }