export type StorageAdapterSubscriber = (value: string | null) => void;
export interface StorageAdapter {
    /**
     * Retrieve the persisted value for a given key. Should return `null` when no value exists.
     */
    getItem(key: string): string | null;
    /**
     * Persist a stringified value for the given key.
     */
    setItem(key: string, value: string): void;
    /**
     * Remove the persisted value for the given key.
     */
    removeItem(key: string): void;
    /**
     * Optional subscription API that notifies when the value changes externally.
     * Should return an unsubscribe function.
     */
    subscribe?(key: string, callback: StorageAdapterSubscriber): () => void;
}
/**
 * Default browser implementation backed by `window.localStorage`.
 * Falls back to a noop adapter when `window` is not available (e.g., SSR environments).
 */
export declare const createBrowserStorageAdapter: () => StorageAdapter;
export declare const browserStorageAdapter: StorageAdapter;
//# sourceMappingURL=storageAdapter.d.ts.map