import { FC, ReactNode } from 'react'; /** * AppShellLayout Props Interface */ export interface AppShellLayoutProps { /** Header component */ header?: ReactNode; /** Sidebar component */ sidebar?: ReactNode; /** Footer component */ footer?: ReactNode; /** Bottom panel area (resizable, for plugin panels) */ bottomPanel?: ReactNode; /** Right panel area (resizable, for plugin panels) */ rightPanel?: ReactNode; /** Status bar rendered at the very bottom */ statusBar?: ReactNode; /** Main content */ children: ReactNode; /** Whether header is visible */ headerVisible?: boolean; /** Whether footer is visible */ footerVisible?: boolean; /** Whether sidebar is visible */ sidebarVisible?: boolean; /** Custom className for main content area */ contentClassName?: string; /** * Padding for main content area (e.g., 'p-4', 'p-6', 'p-8', 'p-card-padding'). * Default: comfortable Boff UI page gutters ('px-6 lg:px-8 py-6'). */ contentPadding?: string; /** When true, footer is rendered inside main content area (scrolls with content). Default: false */ footerInContent?: boolean; /** * Apply iOS/Android safe-area-inset padding to the outer shell so notched * devices don't overlap header/footer. Reads Capacitor `--safe-*` vars and * CSS `env(safe-area-inset-*)`, picking the larger. Default `true`. */ safeArea?: boolean; /** * Bottom bar slot (e.g. `MobileTabBar`), rendered after the content row. * The bar positions itself (fixed bottom); the layout only pads the main * scroll area by `var(--mobile-tabbar-height)` so content never hides * behind it. */ bottomBar?: ReactNode; /** * Native-compact mode for installed-app phone layouts: marks the shell with * `data-native-shell` (native.css takes over safe-areas / paddings) and * makes the content area full-bleed (no desktop page gutters). Combine with * `bottomBar` + `NativeTopBar`. */ nativeCompact?: boolean; } /** * AppShellLayout Component * * Generic app shell layout for product shells. Pure presentation component * that composes header, sidebar, footer, and main content. * * Features: * - Flexible header/sidebar/footer composition * - Visibility controls for each section * - Responsive layout: overlay on mobile, push on desktop * - Custom content styling * * Responsive Behavior: * - Mobile (< md): Sidebar as overlay drawer with backdrop * - Desktop (>= md): Sidebar pushes content with collapse support * * Uses semantic tokens for styling, which must be provided by the shell. * * @example * ```tsx * } * sidebar={} * footer={} * headerVisible={true} * footerVisible={true} * sidebarVisible={true} * contentPadding="p-6" * > * ... * * ``` */ export declare const AppShellLayout: FC; //# sourceMappingURL=AppShellLayout.d.ts.map