export type SettingValue = string | number | boolean; export type SettingsDescriptor = Record; export interface AppSettingsApi { /** Current settings snapshot. */ settings: T; /** Update a single setting. Emits `ui:action`. */ set: (key: K, value: T[K]) => void; /** Reset all settings to defaults. */ reset: () => void; } /** * Hook for app-level persistent settings. * * @param appId — the registry app id (must be stable across refreshes) * @param defaults — the settings descriptor (keys + default values) * * @example * ```tsx * const { settings, set } = useAppSettings('DisplaySettings', { * wallpaper: 'bliss', * screensaver: 'none', * }); * set('wallpaper', 'hills'); // persists + emits ui:action * ``` */ export declare function useAppSettings(appId: string, defaults: T): AppSettingsApi; /** * Read app settings from storage without a React context — used by the * scenario engine's `settingEquals` predicate at evaluation time. */ export declare function readAppSetting(storageLocal: { getItem: (key: string) => string | null; }, storageKey: (shortKey: string) => string, appId: string, key: string): SettingValue | undefined;