export type AllowedKey = string | number | Date | BufferSource | AllowedKey[]; export type Key = string | number | Date | ArrayBuffer | Key[]; export type Options = Record; declare const StorageArea: { prototype: StorageArea; new(name: string, opts?: Options): StorageArea; }; /** * Main differences to the working draft: * - Unknown backing store. * - Added unspecified options paramter to all methods. * This way users can provide extra data to the underlying implementation without type casting. */ export interface StorageArea { set(key: AllowedKey, value: T, opts?: Options): Promise; get(key: AllowedKey, opts?: Options): Promise; delete(key: AllowedKey, opts?: Options): Promise; clear(opts?: Options): Promise; keys(opts?: Options): AsyncIterableIterator; values(opts?: Options): AsyncIterableIterator; entries(opts?: Options): AsyncIterableIterator<[Key, T]>; backingStore(): unknown; }