import { JSX, ReactNode } from 'react'; import { LeftPanelContentProps } from './left-panel-content'; import { LeftPanelFooterProps } from './left-panel-footer'; import { LeftPanelHeaderProps } from './left-panel-header'; export type { LeftPanelContentProps, LeftPanelFooterProps, LeftPanelHeaderProps }; export interface LeftPanelProps { /** Additional class name applied to the panel root. */ className?: string; /** Icon shown on the left of the (blue) header. */ icon?: ReactNode; /** * Hide the close button that collapses the panel. * @default false */ hideCloseButton?: boolean; /** * Hide the reopen button shown when collapsed. * @default false */ hideOpenButton?: boolean; /** * Uncontrolled initial open state. Ignored when `open` is provided. * @default true */ defaultOpen?: boolean; /** Controlled open state. When set, the component does not manage its own state. */ open?: boolean; /** Notified whenever the panel wants to open or close. */ onOpenChange?: (open: boolean) => void; /** * Allow the user to drag-resize the panel width. * @default true */ resizable?: boolean; /** `LeftPanel.Header`, `LeftPanel.Content` and `LeftPanel.Footer`. */ children?: ReactNode; /** * Panel width in pixels. Initial width when resizable, fixed width otherwise. * @default 350 */ width?: number; /** * Maximum resize width in pixels. Only applies when resizable. * @default 600 */ maxWidth?: number; /** * Minimum resize width in pixels. Only applies when resizable. * @default 350 */ minWidth?: number; } export declare const LeftPanel: { ({ className, icon, hideCloseButton, hideOpenButton, defaultOpen, open, onOpenChange, resizable, children, width, minWidth, maxWidth, }: LeftPanelProps): JSX.Element | null; displayName: string; } & { Header: { ({ className, children }: LeftPanelHeaderProps): JSX.Element; displayName: string; }; Content: { ({ className, children }: LeftPanelContentProps): JSX.Element; displayName: string; }; Footer: { ({ className, children }: LeftPanelFooterProps): JSX.Element; displayName: string; }; }; export default LeftPanel;