import { ElementType, ReactNode } from 'react'; /** * LeftNavigation * Classification: custom * * Domain-specific primary side navigation. Built on MUI List primitives but * encapsulates product behavior (selected state, collapsed/icon-only mode, * grouping) that MUI does not provide out of the box. */ export interface NavItem { id: string; label: string; icon?: ReactNode; /** * Destination. When set, the item renders as a link (an ``, or whatever * `linkComponent` is) rather than a button, so the browser's link * affordances - new-tab clicks, the context menu, prefetch - all work. */ href?: string; /** Forwarded to the rendered element, e.g. `target="_blank"` for an external item. */ target?: string; rel?: string; } export interface LeftNavigationProps { items: NavItem[]; selectedId?: string; /** * Notified when an item is activated. With `href` set this is a * notification only (analytics, closing a mobile drawer) - the link performs * the navigation - and it does not fire on modified clicks. */ onSelect?: (id: string) => void; collapsed?: boolean; /** Optional brand / header slot shown above the items. */ header?: ReactNode; width?: number; collapsedWidth?: number; /** * Component used to render items that have an `href`. Defaults to `'a'`. * Router-aware apps pass their own link (`next/link`, react-router's `Link`) * so client-side navigation and prefetch apply. */ linkComponent?: ElementType; } export declare function LeftNavigation({ items, selectedId, onSelect, collapsed, header, width, collapsedWidth, linkComponent, }: LeftNavigationProps): import("react").JSX.Element;