/** * UI Store * Manages UI state: notifications, modals, themes with Zustand */ export type Theme = 'light' | 'dark' | 'auto'; export interface Toast { id: string; message: string; type: 'success' | 'error' | 'info' | 'warning'; duration?: number; } export interface UIState { theme: Theme; isDarkMode: boolean; toasts: Toast[]; openModals: Set; sidebarOpen: boolean; isOnline: boolean; } export interface UIActions { setTheme: (theme: Theme) => void; toggleDarkMode: () => void; addToast: (toast: Omit) => void; removeToast: (id: string) => void; clearToasts: () => void; openModal: (modalId: string) => void; closeModal: (modalId: string) => void; toggleSidebar: () => void; setSidebarOpen: (open: boolean) => void; setIsOnline: (online: boolean) => void; } export type UIStore = UIState & UIActions; /** * Create UI Store with Zustand * Persists theme and sidebar preference to localStorage */ export declare const useUIStore: import("zustand").UseBoundStore, "setState" | "persist"> & { setState(partial: UIStore | Partial | ((state: UIStore) => UIStore | Partial), replace?: false): unknown; setState(state: UIStore | ((state: UIStore) => UIStore), replace: true): unknown; persist: { setOptions: (options: Partial>) => void; clearStorage: () => void; rehydrate: () => Promise | void; hasHydrated: () => boolean; onHydrate: (fn: (state: UIStore) => void) => () => void; onFinishHydration: (fn: (state: UIStore) => void) => () => void; getOptions: () => Partial>; }; }>; //# sourceMappingURL=uiStore.d.ts.map