import type { Snippet } from 'svelte'; import type { HTMLAttributes } from 'svelte/elements'; import type { LayoutTab } from './types'; interface LayoutProps extends HTMLAttributes { /** The currently active tab path */ activeTab: string; /** Array of available tabs to display in the navbar */ tabs: LayoutTab[]; /** Function to handle tab switching */ switchTab: (tab: string) => void; /** Unique key for the form context */ formKey: string; /** Whether to show the edit mode message banner */ showEditModeMessage?: boolean; /** Whether to display the footer section */ showFooter?: boolean; /** Whether to display the sidebar */ showSidebar?: boolean; /** Whether to display the tab navigation bar */ showTabs?: boolean; /** The height at which the main content area becomes scrollable */ mainContentScrollableAt?: number; /** Whether to display the preview bar */ showPreviewBar?: boolean; /** Width of the sidebar (CSS value) */ sidebarWidth?: string; /** Whether to use container mode (100% dimensions) instead of viewport mode */ containerMode?: boolean; /** Size variant for the footer */ footerSize?: 'normal' | 'large'; /** Padding for the main content container (CSS value) */ mainContentPadding?: string; /** Array of notification objects for tab status indicators */ notifications?: Array<{ /** Tab path this notification applies to */ path: string; /** Whether the notification indicates success */ success: boolean; /** Notification message content */ message: string; /** Whether to show the notification badge */ showNotification: boolean; }>; /** Sidebar content snippet */ sidebar?: Snippet; /** Main content area snippet */ main?: Snippet; /** Preview bar content snippet */ previewBar?: Snippet; /** Custom tabs snippet to override default tab rendering */ customTabs?: Snippet; /** Footer content snippet */ footer?: Snippet; } declare const Layout: import("svelte").Component; type Layout = ReturnType; export default Layout;