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 };