import * as react from 'react'; import { HTMLAttributes, ReactNode } from 'react'; import { TopNavItem } from './top-nav.js'; import { MainContentDensity } from './main-content.js'; import { SidebarNavGroup, SidebarNavItem } from './sidebar.js'; type DashboardShellVariant = 'sidebar' | 'topnav'; interface DashboardShellProps extends HTMLAttributes { projectName: ReactNode; projectSubtitle?: ReactNode; homeHref?: string; variant?: DashboardShellVariant; /** Sidebar variant — grouped navigation links rendered in the left rail. */ sidebarGroups?: SidebarNavGroup[]; /** Sidebar variant — flat navigation links when groups are not needed. */ sidebarItems?: SidebarNavItem[]; /** Context prefix shown in the top bar (e.g. project or section name). */ breadcrumb?: ReactNode; /** Current page label shown in the top bar. */ pageTitle?: ReactNode; /** Topnav variant — horizontal links in TopNav. Also used as sidebar fallback when no sidebarGroups/sidebarItems. */ navItems?: TopNavItem[]; topActions?: ReactNode; showMobileLogo?: boolean; /** Optional custom sidebar content below structured nav in the left rail. */ sidebar?: ReactNode; header?: ReactNode; density?: MainContentDensity; contentWidth?: 'default' | 'wide' | 'full'; } declare const DashboardShell: react.ForwardRefExoticComponent>; export { DashboardShell, type DashboardShellProps, type DashboardShellVariant };