import type { Snippet } from 'svelte'; import { type SidebarGroup } from '../Sidebar/Sidebar.svelte'; import { type NavbarLink } from '../Navbar/Navbar.svelte'; import { type NavRailItem } from '../NavRail/NavRail.svelte'; interface AppShellProps { brand?: string; sidebarGroups?: SidebarGroup[]; navLinks?: NavbarLink[]; sidebarValue?: string; navValue?: string; collapsed?: boolean; showSidebar?: boolean; showNavbar?: boolean; /** Icon rail. Shown when the list is non-empty. */ rail?: NavRailItem[]; railFooter?: NavRailItem[]; railValue?: string; railBrand?: Snippet; onrailchange?: (id: string) => void; /** Storybook / explicit contextual nav. Nested layouts can also set this via `getAppChrome()`. */ contextualGroups?: SidebarGroup[]; contextualValue?: string; contextualBrand?: string; contextualHeader?: Snippet; oncontextualchange?: (id: string) => void; onsidebarchange?: (id: string) => void; sidebarFooter?: Snippet; /** * Fill the viewport. Use `false` + `framed` for compact Storybook previews. */ fullHeight?: boolean; /** Card chrome (border/radius) — typical for demos, not production apps. */ framed?: boolean; /** Extra classes for the main content region (e.g. `p-0` for flush panels). */ mainClass?: string; class?: string; actions?: Snippet; children?: Snippet; } declare const AppShell: import("svelte").Component; type AppShell = ReturnType; export default AppShell;