interface Map { [key: string]: string | number | boolean | Map | Array | null; } export interface SearchResult { key: string; index: number; endIndex: number; foundIn: 'values' | 'keys'; } type ISResult = WantMap extends true ? { [key: string]: SearchResult; } : Array; export interface ISearch { data: Map; text?: string; ignoreCamelCase?: boolean; debug?: boolean; regex?: RegExp; searchIn?: 'keys' | 'values' | 'both'; withMapResult?: A; } export interface SearchResultItem { key: string; index?: number; endIndex: number; foundIn: 'values' | 'keys'; } export interface ISearchResult { result: ISResult; error?: Error; } export declare const search: (props: ISearch) => Promise>; export {};