import type { StorageChange, StorageChangeEvent } from '../@types/storage'; declare const TRACKED_AREAS: readonly ["local", "sync", "managed"]; export type Area = (typeof TRACKED_AREAS)[number]; /** Extension storage holds arbitrary JSON; this library writes only strings, so anything else reads as absent. */ export declare function toStoredValue(value: unknown): string | null | undefined; export declare function toStorageChanges(changes: { [key: string]: { oldValue?: unknown; newValue?: unknown; }; }): { [key: string]: StorageChange; }; export declare function toStoredItems(items: { [key: string]: unknown; }): { [key: string]: string; }; export interface ListenerRegistry { fire(changes: { [key: string]: StorageChange; }, area: string): void; createOnChanged(area: Area): StorageChangeEvent; } /** Demultiplexes an extension's single `onChanged` event to one notifier per area, one registry per adapter. */ export declare function createListenerRegistry(): ListenerRegistry; export {}; //# sourceMappingURL=extension-storage.d.ts.map