export declare type PK = Extract; export declare abstract class AbstractStorage = PK> { abstract insert(pk: K, value: T): T; abstract retrieve(pk: K): T; abstract update(pk: K, value: Partial): T; abstract delete(pk: K): T; abstract exists(pk: K): boolean; abstract clear(): void; } export declare class Storage = PK> extends AbstractStorage { readonly data: Record; constructor(initial?: Record); insert(pk: K, value: T): Record[K]; retrieve(pk: K): Record[K]; update(pk: K, value: Partial): Record[K]; delete(pk: K): Record[K]; exists(pk: K): boolean; clear(): void; } //# sourceMappingURL=storage.d.ts.map