import { IStorage, IStorageSync } from "./IStorage"; export declare const storagePendingAccesses: { value: number; }; export declare class StorageSync implements IStorageSync { storage: IStorage; private config?; cached: import("mobx").ObservableMap; infoCached: import("mobx").ObservableMap; keys: Set; synced: { keySeqNum: number; }; constructor(storage: IStorage, config?: { freeze?: "deep" | "shallow" | undefined; beforeWrite?: ((update: { newValue: T; key: string; collection: StorageSync; }) => void) | undefined; } | undefined); get(key: string): T | undefined; set(key: string, value: T): void; remove(key: string): void; private loadedKeys; getKeys(): string[]; getInfo(key: string): { size: number; lastModified: number; } | undefined; getValues(): T[]; getEntries(): [string, T][]; getPromise(key: string): Promise; private pendingGetKeys; getKeysPromise(): Promise; reload(): void; reloadKeys(): void; reloadKey(key: string): void; reset(): Promise; } export declare function waitUntilNextLoad(): Promise;