import * as React from 'react'; export declare const APPSHELL_PANEL_TYPE: 'AppShell.Panel'; export interface AppShellPanelProps extends React.ComponentProps<'div'> { /** Fixed width in pixels (number) or CSS string */ width?: number | string; /** Flex grow value */ flex?: number | string; /** Minimum width in pixels (number) or CSS string */ minWidth?: number | string; /** When true, panel takes all content space (flex: 1), sibling panels hidden */ expanded?: boolean; /** Callback when expanded state should change */ onExpandedChange?: (expanded: boolean) => void; /** Label shown in mobile tab bar */ label?: string; } export interface AppShellPanelComponent { (props: AppShellPanelProps): React.ReactElement; displayName?: string; __appShellType: typeof APPSHELL_PANEL_TYPE; } /** * Generic content slot for AppShell. Max 2 panels visible at a time. * * Sizing priority: expanded > width/flex > default (flex: 1) * * Reads PanelLayoutContext to self-manage visibility and mobile sizing, * eliminating the need for cloneElement style injection from Root. */ declare function AppShellPanelRoot({ width, flex, minWidth, expanded, onExpandedChange, label, className, style, children, ...props }: AppShellPanelProps): React.ReactElement; declare const AppShellPanel: typeof AppShellPanelRoot & { displayName: string; __appShellType: "AppShell.Panel"; }; export { AppShellPanel };