import { FC, ReactNode } from 'react'; /** * Mobile Action Item for sidenav */ export interface MobileActionItem { /** Unique identifier */ id: string; /** Display label */ label: string; /** Icon component */ icon: ReactNode; /** Click handler */ onClick: () => void; /** Whether this is a toggle (shows active state) */ isToggle?: boolean; /** Current toggle state */ isActive?: boolean; /** Whether to close the sidebar after action (default: true) */ closeSidebar?: boolean; } /** * HeaderBar Props Interface * * Generic header bar component that accepts all data via props. * No dependencies on shell providers - pure presentation component. */ export interface HeaderBarProps { /** Logo content (text or component) */ logo?: ReactNode; /** Application name */ appName: string; /** Logo click handler */ onLogoClick?: () => void; /** Menu toggle handler */ onMenuToggle?: () => void; /** Search click handler */ onSearchClick?: () => void; /** Search placeholder text */ searchPlaceholder?: string; /** Search keyboard shortcut display */ searchShortcut?: string; /** Number of unread notifications (used by built-in bell when notificationCenter is not provided) */ unreadNotifications?: number; /** Notifications click handler (used by built-in bell when notificationCenter is not provided) */ onNotificationsClick?: () => void; /** Notification center component (replaces the built-in bell button when provided) */ notificationCenter?: ReactNode; /** Current color mode */ colorMode?: 'light' | 'dark'; /** Theme toggle handler */ onThemeToggle?: () => void; /** Current user info */ user?: { firstName: string; lastName: string; avatar?: string; }; /** User menu click handler */ onUserMenuClick?: () => void; /** Additional actions to render in the header */ actions?: ReactNode; /** Context switcher component (Org/Workspace/Project) */ contextSwitcher?: ReactNode; /** Product switcher component */ productSwitcher?: ReactNode; /** Language switcher component */ languageSwitcher?: ReactNode; /** Geography switcher component */ geographySwitcher?: ReactNode; /** Profile switcher component */ profileSwitcher?: ReactNode; /** Keyboard shortcuts click handler */ onKeyboardShortcutsClick?: () => void; /** Whether to hide non-essential items on mobile (they go to sidenav) */ mobileOptimized?: boolean; } /** * HeaderBar Component * * Generic header bar for app shells. Pure presentation component * that accepts all data via props. * * Features: * - Logo (no app name in header) * - Menu toggle * - Global search icon trigger * - Notifications with badge * - Theme toggle (light/dark) * - Custom actions * - Responsive layout for mobile and desktop * * Uses semantic tokens for styling, which must be provided by the shell. * * @example * ```tsx * toggleSidebar()} * onSearchClick={() => openSearch()} * unreadNotifications={3} * colorMode="dark" * onThemeToggle={() => toggleTheme()} * /> * ``` */ export declare const HeaderBar: FC; //# sourceMappingURL=HeaderBar.d.ts.map