export interface NavItem { id: string; label: string; /** CSS icon class rendered as */ iconClass?: string; /** Route path — consuming component navigates on navItemClick */ routerLink?: string; children?: NavChildItem[]; /** Badge count or label, e.g. "3" */ badge?: string; status?: 'live' | 'danger'; isNew?: boolean; disabled?: boolean; disabledTooltip?: string; } export interface NavChildItem { id: string; label: string; iconClass?: string; routerLink?: string; isNew?: boolean; disabled?: boolean; } export interface NavSection { type: 'section'; label: string; } export declare type NavMenuItem = NavItem | NavSection; export declare function isNavSection(item: NavMenuItem): item is NavSection; export { ProfileMenuUser, ProfileMenuItem, ProfileMenuDivider, ProfileMenuEntry, isProfileMenuDivider, } from './profile-menu/profile-menu.models'; export interface SidebarConfig { workspaceName?: string; /** Optional logo image URL/data-URI shown inside the workspace avatar. Falls back to the workspace initial when not provided. */ workspaceLogo?: string; /** e.g. 'Live' */ workspaceBadge?: string; workspaceStatus?: 'live' | 'warning' | 'offline'; userName?: string; userInitials?: string; userRole?: string; /** Label for the CTA button, e.g. 'New Test Case' */ ctaLabel?: string; searchPlaceholder?: string; showSearch?: boolean; /** When true, shows a ⌘K hint in the expanded search row */ showSearchShortcut?: boolean; showCta?: boolean; /** Reserved; notifications are not shown on the collapsed rail. */ showNotifications?: boolean; /** Reserved; badge is not shown on the collapsed rail. */ notificationCount?: number; showLiveChat?: boolean; /** Help & docs entry (expanded footer + collapsed utility stack). Default true */ showHelpDocs?: boolean; /** Reserved; speaker / “what’s new” is not shown on the collapsed rail. */ showSpeaker?: boolean; /** Label for the help utility when the sidebar is expanded */ helpDocsLabel?: string; /** When true, the sidebar starts expanded and pinned (mouse leave does not collapse). */ defaultPinned?: boolean; /** When false, hides the header pin control (expanded sidebar always auto-collapses on mouse leave unless defaultPinned). Default: true. */ showSidebarPin?: boolean; }