import { Data } from '../../../types/data';
import { FilterValue } from '../../Filters';
import { ExplorerDataProvider } from '../Explorer.model';
type FilterFunction<T extends Data> = (value: unknown, filter: FilterValue, item: T) => boolean;
interface LocalDataProviderConfig<T extends Data> {
    caseSensitiveSort?: boolean;
    filterFunctions?: {
        [property: string]: FilterFunction<T>;
    };
}
export declare function createInMemoryDataProvider<T extends Data>(data: T[], { caseSensitiveSort, filterFunctions, }?: LocalDataProviderConfig<T>): ExplorerDataProvider<T>;
/**
 * Checks if the the `String(value)` exactly matches `String(filter)`.
 */
export declare const findExact: FilterFunction<Data>;
/**
 * Checks if the filter string can be found somewhere in the value string. (case sensitive)
 */
export declare const findAnywhereInString: FilterFunction<Data>;
/**
 * Checks if the filter string can be found somewhere in the value string. (case insensitive)
 */
export declare const findAnywhereInStringCaseInsensitive: FilterFunction<Data>;
export {};
//# sourceMappingURL=InMemoryDataProvider.d.ts.map