/** * Profile-Scoped Storage — Zustand persist adapter + helpers * * Dynamically prefixes localStorage keys with the active profile ID * so that persisted UI state (tabs, filters, selections, etc.) is * isolated per user account. * * Key format: bf-p-{profileId}-{baseName} * * Includes one-time migration: on first read, if the scoped key is * missing but the legacy (un-prefixed) key exists, the value is * copied to the scoped key and the legacy key is removed. */ /** * Returns the profile-scoped localStorage key for the given base key. * Falls back to the bare key if no profile is active. * * Use this for raw `localStorage.getItem` / `localStorage.setItem` calls * outside of zustand stores. */ export declare function getProfileScopedKey(key: string): string; /** * Creates a zustand persist-compatible storage that scopes localStorage * keys by the active user profile. * * Usage: * ```ts * import { createProfileScopedStorage } from '@burdenoff/fe-libs/shared/utils'; * * const useMyStore = create( * persist( * (set) => ({ ... }), * { * name: 'my-store-key', * storage: createProfileScopedStorage(), * } * ) * ); * ``` */ export declare function createProfileScopedStorage(): import('zustand/middleware').PersistStorage | undefined; //# sourceMappingURL=profileScopedStorage.d.ts.map