export type SearchFunc = ( storeObj: any, manifestObj: any ) => { searchEndpoint?: string; search?: { functionToRun: (store, searchValue: string, closed: boolean) => void; clearFunctionToRun: () => void; }; filters?: { [key: string]: { type: 'input' | 'numericRange' | 'select'; allInfoName?: string; configuration: | { prompt: string; type: 'input'; } | { min?: number; max?: number; type: 'numericRange'; prompt: string; } | { type: 'select'; prompt: string; context: { [displayName: string]: any }; }; filterFactory?: (val: Array) => ((a: any) => boolean); paths?: string[]; }; }; buckets?: { mapper: { [key: string]: any }; // bucketFactory: Function; }; };