import type { ElementType, ReactNode, JSX } from 'react'; import { type AppHeaderSize } from '../app-header/AppHeader'; export type NavBarItem = NavBarLinkItem | NavBarExpandableItem | NavBarGroupItem; type NavBarBase = { label: string; icon?: ReactNode; badge?: number | string; iconWidth?: string | number; enabled?: boolean; tags?: string[]; truncateLabel?: boolean; }; /** Simple clickable item */ export type NavBarLinkItem = NavBarBase & { type?: 'item'; href: string; component?: ElementType; active?: boolean; external?: boolean; }; /** Clickable + expandable item (has href AND children) */ export type NavBarExpandableItem = NavBarBase & { type: 'expandable'; href: string; component?: ElementType; active?: boolean; external?: boolean; children: NavBarItem[]; }; /** Non-clickable group header */ export type NavBarGroupItem = NavBarBase & { type: 'group'; children: NavBarItem[]; }; export interface NavBarProps { logo?: ReactNode; items?: NavBarLinkItem[]; productName?: string; productNameComponent?: ElementType; addition?: ReactNode; activeLink?: string; size?: AppHeaderSize; } export declare function NavBar({ logo, items, productName, productNameComponent: ProductNameComponent, addition, activeLink, size, }: NavBarProps): JSX.Element; export {};