declare type Typed = never | undefined | BooleanConstructor | StringConstructor | NumberConstructor | Record<string, any> | Record<string, any>[];
declare type ValueType<V extends any = undefined, T extends Typed = Typed> = V extends undefined ? T extends BooleanConstructor ? boolean : T extends StringConstructor ? string : T extends NumberConstructor ? number : V : V;
declare class _Saver {
    static STORAGE_PREFIX: string;
    private store;
    constructor();
    remove(key: string): void;
    set<V extends any = any>(key: string, value: V): void;
    get<V extends any = undefined, T extends Typed = Typed>(key: string, type?: T): ValueType<V, T>;
    getWithDefault<V extends any = undefined, T extends Typed = Typed>(key: string, defaultValue: any, type?: T): ValueType<V, T>;
}
export declare const Saver: _Saver;
export {};
//# sourceMappingURL=saver.d.ts.map