import * as react_jsx_runtime from 'react/jsx-runtime'; import { LucideIcon } from 'lucide-react'; interface SidebarNavSubItem { title: string; href: string; isActive?: boolean; } interface SidebarNavItem { /** Lucide icon component */ icon: LucideIcon; title: string; href: string; isActive?: boolean; /** When true, renders an expandable group with subItems */ isCollapsible?: boolean; subItems?: SidebarNavSubItem[]; } interface SidebarNavMetricItem { name: string; /** Numeric value in dollars — formatted as currency automatically */ value: number; /** Net items show +/- prefix and a primary-color underline */ isNetItem?: boolean; /** Optional tooltip text shown via Info icon */ info?: string; } interface SidebarNavMetricsGroup { items: SidebarNavMetricItem[]; } interface SidebarNavProps { items: SidebarNavItem[]; /** Display name for the current user */ userName?: string; /** * Optional logo URL rendered at the top of the sidebar. * Hidden when collapsed (unless logoCollapsed is provided). * Use a horizontal/landscape logo (max-height 32px). * The image is rendered white via CSS filter — use a logo with non-transparent paths. */ logo?: string; /** * Optional icon-only logo URL shown when the sidebar is collapsed. * Use a square icon variant of the logo (rendered at 32×32px, white filter applied). */ logoCollapsed?: string; /** * Optional financial metric groups rendered between the user section and * nav items. Hidden when sidebar is collapsed. Used by the Frontend (WealthX app) sidebar. */ metricsGroups?: SidebarNavMetricsGroup[]; onNavigate?: (href: string) => void; onLogout?: () => void; /** * Initial locked (pinned) state. When true, sidebar starts expanded and stays * open even without hover. Defaults to false (hover-to-expand mode). */ defaultLocked?: boolean; /** * Called when the user toggles the Pin/Unpin button. * Use to persist the preference (e.g. localStorage). */ onLockedChange?: (locked: boolean) => void; className?: string; } declare function SidebarNav({ items, userName, logo, logoCollapsed, metricsGroups, onNavigate, onLogout, defaultLocked, onLockedChange, className, }: SidebarNavProps): react_jsx_runtime.JSX.Element; export { SidebarNav, type SidebarNavItem, type SidebarNavMetricItem, type SidebarNavMetricsGroup, type SidebarNavProps, type SidebarNavSubItem };