/** * Custom hook to sync state with localStorage * * ## Business Perspective * * Enables widgets to remember user preferences and settings across browser * sessions, improving user experience by maintaining personalized configurations. * This is particularly valuable for security officers who configure specific * security levels and want their settings persisted. 💾 * * ## Technical Perspective * * Provides a React state hook that automatically syncs with localStorage, * handling JSON serialization/deserialization and SSR compatibility. Uses * the same API as useState for familiarity. * * @template T - Type of the stored value * @param key - localStorage key to use for storage * @param initialValue - Initial value if key doesn't exist in localStorage * @returns Tuple of [storedValue, setValue] similar to useState * * @example * ```tsx * // Store user's preferred theme * const [theme, setTheme] = useLocalStorage('theme', 'light'); * * return ( * * ); * ``` * * @example * ```tsx * // Store security level preferences * const [savedLevels, setSavedLevels] = useLocalStorage('securityLevels', { * availability: 'Moderate', * integrity: 'Moderate', * confidentiality: 'Moderate' * }); * ``` * * @example * ```tsx * // Store widget visibility preferences * const [widgetPrefs, setWidgetPrefs] = useLocalStorage('widgetPreferences', { * showDetails: true, * expandedSections: ['overview', 'metrics'] * }); * ``` */ export declare function useLocalStorage(key: string, initialValue: T): [T, (value: T | ((prev: T) => T)) => void]; //# sourceMappingURL=useLocalStorage.d.ts.map