import type { Snippet } from 'svelte'; import type { SidebarGroup } from '../../organisms/Sidebar/Sidebar.svelte'; import type { NavbarLink } from '../../organisms/Navbar/Navbar.svelte'; import type { DashboardPeriod } from '../../organisms/DashboardPage/DashboardPage.svelte'; import type { MetricItem } from '../../molecules/MetricGrid/MetricGrid.svelte'; import type { BreadcrumbItem } from '../../molecules/Breadcrumb/Breadcrumb.svelte'; import type { SegmentItem } from '../../molecules/SegmentedControl/SegmentedControl.svelte'; import type { NotificationItem } from '../../organisms/NotificationCenter/NotificationCenter.svelte'; import type { UserMenuItem } from '../../molecules/UserMenu/UserMenu.svelte'; export type DashboardTemplateDensity = 'comfortable' | 'compact'; interface DashboardTemplateProps { title?: string; description?: string; brand?: string; breadcrumbs?: BreadcrumbItem[]; metrics?: MetricItem[]; metricCols?: 2 | 3 | 4; period?: DashboardPeriod; periods?: SegmentItem[]; updatedLabel?: string; statusLabel?: string; empty?: boolean; emptyTitle?: string; emptyDescription?: string; sidebarGroups?: SidebarGroup[]; navLinks?: NavbarLink[]; sidebarValue?: string; navValue?: string; collapsed?: boolean; showSidebar?: boolean; showNavbar?: boolean; showNotifications?: boolean; notifications?: NotificationItem[]; userName?: string; userEmail?: string; userRole?: string; userPlan?: string; userAvatar?: string; userMenuItems?: UserMenuItem[]; showUserMenu?: boolean; fullHeight?: boolean; framed?: boolean; density?: DashboardTemplateDensity; class?: string; mainClass?: string; /** Extra controls next to period switcher */ actions?: Snippet; /** Navbar trailing actions (overrides default search / help / notifs / user menu) */ navbarActions?: Snippet; primary?: Snippet; secondary?: Snippet; footer?: Snippet; children?: Snippet; onperiodchange?: (period: string) => void; onsearch?: () => void; onhelp?: () => void; onuserselect?: (id: string, item: UserMenuItem) => void; } declare const DashboardTemplate: import("svelte").Component; type DashboardTemplate = ReturnType; export default DashboardTemplate;