import DataLoader from 'dataloader';
import type { ImportFn, KeyValueCache } from '@graphql-mesh/types';
export default class FileCache<V = any> implements KeyValueCache<V> {
    json$: Promise<Record<string, V>>;
    absolutePath: string;
    writeDataLoader: DataLoader<string, string>;
    constructor({ path, importFn }: {
        path: string;
        importFn: ImportFn;
    });
    getKeysByPrefix(prefix: string): Promise<string[]>;
    get(name: string): Promise<V>;
    set(name: string, value: V): Promise<void>;
    delete(name: string): Promise<boolean>;
}
