export type ViewType = 'welcome' | 'dashboard' | 'detail' | 'help'; export type NotificationPriority = 'low' | 'normal' | 'high'; export type NotificationPosition = 'top-right' | 'bottom-right' | 'bottom-left' | 'top-center'; export type SortColumn = 'name' | 'vlan' | 'expected' | 'planned' | 'network' | 'usable' | 'description'; export type SortDirection = 'asc' | 'desc'; export interface Notification { id: string; message: string; type: 'info' | 'success' | 'error' | 'warning'; timestamp: number; priority?: NotificationPriority; duration?: number; position?: NotificationPosition; } interface UIState { currentView: ViewType; selectedIndex: number; notifications: Notification[]; maxVisibleNotifications: number; sortColumn: SortColumn | null; sortDirection: SortDirection; notificationTimers: Map; viewportStart: number; viewportSize: number; setView: (view: ViewType) => void; setSelectedIndex: (index: number) => void; moveSelectionUp: (totalItems: number) => void; moveSelectionDown: (totalItems: number) => void; setViewportSize: (size: number) => void; adjustViewport: (selectedIndex: number, totalItems: number) => void; showNotification: (message: string, type?: 'info' | 'success' | 'error' | 'warning', options?: { priority?: NotificationPriority; duration?: number; position?: NotificationPosition; }) => void; dismissNotification: (id: string) => void; clearNotifications: () => void; setMaxVisibleNotifications: (max: number) => void; setSortColumn: (column: SortColumn) => void; clearSort: () => void; } export declare const useUIStore: { (): UIState; (selector: (state: UIState) => U): U; } & Omit, "setState"> & { setState(nextStateOrUpdater: UIState | Partial | ((state: import("immer").WritableDraft) => void), shouldReplace?: false): void; setState(nextStateOrUpdater: UIState | ((state: import("immer").WritableDraft) => void), shouldReplace: true): void; } & { use: { currentView: () => ViewType; selectedIndex: () => number; notifications: () => Notification[]; maxVisibleNotifications: () => number; sortColumn: () => SortColumn | null; sortDirection: () => SortDirection; notificationTimers: () => Map; viewportStart: () => number; viewportSize: () => number; setView: () => (view: ViewType) => void; setSelectedIndex: () => (index: number) => void; moveSelectionUp: () => (totalItems: number) => void; moveSelectionDown: () => (totalItems: number) => void; setViewportSize: () => (size: number) => void; adjustViewport: () => (selectedIndex: number, totalItems: number) => void; showNotification: () => (message: string, type?: "info" | "success" | "error" | "warning", options?: { priority?: NotificationPriority; duration?: number; position?: NotificationPosition; }) => void; dismissNotification: () => (id: string) => void; clearNotifications: () => () => void; setMaxVisibleNotifications: () => (max: number) => void; setSortColumn: () => (column: SortColumn) => void; clearSort: () => () => void; }; }; export {};