export type StorageItemMapOptions = { area?: chrome.storage.AreaName; defaultValue?: T; }; export declare class StorageItemMap< /** Only specify this if you don't have a default value */ Base, /** The return type will be undefined unless you provide a default value */ Return = Base | undefined> { #private; readonly prefix: `${string}:::`; readonly areaName: chrome.storage.AreaName; readonly defaultValue?: Return; constructor(key: string, { area, defaultValue, }?: StorageItemMapOptions>); has(secondaryKey: string): Promise; get(secondaryKey: string): Promise; set(secondaryKey: string, value: Exclude): Promise; remove(secondaryKey: string): Promise; /** @deprecated Only here to match the Map API; use `remove` instead */ delete(secondaryKey: string): Promise; keys(): Promise; clear(): Promise; entries(): AsyncIterableIterator<[string, Exclude]>; [Symbol.asyncIterator](): AsyncIterableIterator<[string, Exclude]>; onChanged(callback: (key: string, value: Exclude) => void, signal?: AbortSignal): void; private getRawStorageKey; private getSecondaryStorageKey; }