export declare class FSKeyValueCache<T extends Object> {
    private _filepath;
    private _initialized;
    constructor(_filepath: string);
    init(): Promise<void>;
    sync<K extends keyof T>(key: K, value: T[K] | undefined, prompt: (initial?: T[K]) => Promise<T[K]>): Promise<T[K]>;
    has<K extends keyof T>(key: K): Promise<boolean>;
    get<K extends keyof T>(key: K): Promise<T[K] | undefined>;
    set<K extends keyof T>(key: K, value: T[K]): Promise<void>;
    rm<K extends keyof T>(key: K): Promise<void>;
    clear(): Promise<void>;
    private _writeJSON;
    private _readJSON;
}
