import { type Item } from '../dropdown/Dropdown.component'; import { type Props as ButtonProps } from '../buttonv2/Buttonv2.component'; /** * Default container width (px) below which the navbar condenses its * right-action labels to icon-only. Content-dependent — override per app via * the `condenseActionsBreakpoint` prop. Tabs overflow into a "More" menu * automatically as space runs out, independent of this value. */ export declare const NAVBAR_COLLAPSE_BREAKPOINT_PX = 768; /** * Abbreviate a label to the uppercased first letters of its first `maxLetters` * whitespace-separated words (e.g. "Carlito Gonzalez" → "CG", "Carlito" → "C"). * Used to condense an opted-in action to a compact chip instead of hiding its * label entirely; the full label stays the accessible name. */ export declare function getInitials(text: string, maxLetters?: number): string; /** * Decide which tabs stay inline and which move into the "More" menu. * * Pinned tabs (the selected tab, custom `render` tabs, and any tab flagged * `alwaysVisible`) never overflow — the current location and instance-level * controls must stay reachable. The remaining tabs fill the leftover space * left-to-right, priority+ style: as the navbar narrows they drop from the * right, one by one, into the menu. Pure — no DOM. Indices are returned in * original order so both rows preserve the author's tab order. */ export declare function selectVisibleTabs(tabWidths: number[], pinned: boolean[], menuTriggerWidth: number, availableWidth: number): { visibleTabIndices: number[]; overflowTabIndices: number[]; }; type ButtonAction = { type: 'button'; } & ButtonProps; type DropdownAction = { type: 'dropdown'; items: Array; text?: string; icon?: JSX.Element; }; type CustomAction = { type: 'custom'; render: React.ComponentType; }; type Action = DropdownAction | ButtonAction | CustomAction; type Actions = Array; type Tab = { title?: string; selected?: boolean; onClick?: (arg0: any) => void; link?: JSX.Element; render?: JSX.Element; /** * Keep this tab inline at all widths instead of letting it overflow into the * "More" menu. The selected tab and custom `render` tabs are pinned * automatically; set this for any other tab that must always stay visible. */ alwaysVisible?: boolean; }; export type Props = { onToggleClick?: () => void; rightActions: Actions; logo?: JSX.Element; tabs?: Array; /** * Container width (px) below which right-action labels drop to icon-only * (e.g. the username dropdown shows just its icon). Tabs overflow into a * "More" menu automatically as space runs out, independent of this value. * Defaults to {@link NAVBAR_COLLAPSE_BREAKPOINT_PX}. */ condenseActionsBreakpoint?: number; }; declare function NavBar({ onToggleClick, logo, tabs, rightActions, condenseActionsBreakpoint, ...rest }: Props): import("react/jsx-runtime").JSX.Element; export declare const Navbar: typeof NavBar; export {}; //# sourceMappingURL=Navbar.component.d.ts.map