declare namespace ImportResolver { interface AliasItem { alias: string; name: string; onlyModule?: boolean; } interface Dictionary { [key: string]: T; } interface Plugin { apply(...args: any[]): void; } interface ResolverOption { alias?: AliasItem[] | Dictionary; aliasFields?: string[]; cachePredicate?: (val: Object) => boolean; descriptionFiles?: string[]; enforceExtension?: boolean; enforceModuleExtension?: boolean; extensions?: string[]; fileSystem?: Object; mainFields?: string[]; mainFiles?: string[]; moduleExtensions?: string[]; modules?: string[]; plugins?: Plugin[]; resolver?: Object; resolveToContext?: boolean; symlinks?: string[] | boolean; unsafeCache?: boolean | Dictionary; useSyncFileSystemCalls?: boolean; } } declare function resolver(config: ImportResolver.ResolverOption): Function export = resolver