export interface IStorage { getItem(key: string): string | null; setItem(key: string, value: string): void; removeItem(key: string): void; } export declare class WindowLocalStorage implements IStorage { private storage; constructor(); getItem(key: string): string | null; removeItem(key: string): void; setItem(key: string, value: string): void; clear(): void; } export declare class KeyTransformStorage implements IStorage { private readonly delegate; private readonly transform; constructor(delegate: IStorage, transform: (key: string) => string); static postfix(delegate: IStorage, postfix: string): KeyTransformStorage; static prefix(delegate: IStorage, prefix: string): KeyTransformStorage; getItem(key: string): string | null; removeItem(key: string): void; setItem(key: string, value: string): void; } declare type Item = Record; export declare class ListStorage { private delegate; private listKey; private maxLength; private encodedListCharLen; private resolveMaxLength; constructor(delegate: IStorage, listKey: string, maxLength?: number); private isEqualItem; private getRemainListSize; private isAddableItem; private getVictimIndex; getList(): Item[]; entries(): [string, Value][]; setItem(key: string, value: Value): void; getItem(key: string): Value | undefined; removeItem(key: string): void; clear(): void; } export {};