import { Logger } from 'homebridge';
import { LocalStorage } from 'node-persist';
export declare class PersistCache {
    readonly log: Logger;
    readonly persist: LocalStorage;
    readonly preferred: string;
    private readonly cacheName;
    private readonly initialised;
    private saving?;
    private pendingSave?;
    private cache;
    private readonly ttl;
    constructor(log: Logger, persist: LocalStorage, name: string, preferred: string);
    get<Type>(key: string): Promise<Type | undefined>;
    getWithExpiry<Type>(key: string): Promise<{
        value: Type;
        valid: boolean;
    } | undefined>;
    set(key: string, value: unknown): Promise<void>;
    load(): Promise<void>;
    save(): Promise<void>;
    saveDeferred(): Promise<void>;
}
//# sourceMappingURL=persist-cache.d.ts.map