export declare type LilconfigResult = null | { filepath: string; config: any; isEmpty?: boolean; }; interface OptionsBase { cache?: boolean; stopDir?: string; searchPlaces?: string[]; ignoreEmptySearchPlaces?: boolean; packageProp?: string | string[]; } export declare type Transform = TransformSync | ((result: LilconfigResult) => Promise); export declare type TransformSync = (result: LilconfigResult) => LilconfigResult; declare type LoaderResult = any; export declare type LoaderSync = (filepath: string, content: string) => LoaderResult; export declare type Loader = LoaderSync | ((filepath: string, content: string) => Promise); export declare type Loaders = Record; export declare type LoadersSync = Record; export interface Options extends OptionsBase { loaders?: Loaders; transform?: Transform; } export interface OptionsSync extends OptionsBase { loaders?: LoadersSync; transform?: TransformSync; } export declare const defaultLoaders: LoadersSync; declare type ClearCaches = { clearLoadCache: () => void; clearSearchCache: () => void; clearCaches: () => void; }; declare type AsyncSearcher = { search(searchFrom?: string): Promise; load(filepath: string): Promise; } & ClearCaches; export declare function lilconfig(name: string, options?: Partial): AsyncSearcher; declare type SyncSearcher = { search(searchFrom?: string): LilconfigResult; load(filepath: string): LilconfigResult; } & ClearCaches; export declare function lilconfigSync(name: string, options?: OptionsSync): SyncSearcher; export {};