import * as React from 'react'; import type { PartProps } from '../contracts/components.js'; type Orientation = 'horizontal' | 'vertical'; export type ResizablePanelsRootProps = Omit, 'onLayout'> & { /** Axis along which panels are laid out and resized. */ orientation?: Orientation | undefined; /** Initial panel sizes, in percent, one per panel. */ defaultLayout?: readonly number[] | undefined; /** Called with the panel sizes, in percent, after a resize. */ onLayout?: ((layout: number[]) => void) | undefined; /** Storage key under which the layout is persisted and restored. */ autoSaveId?: string | undefined; /** Percent a handle moves per arrow key. */ keyboardStep?: number | undefined; /** Percent a handle moves per Shift+arrow or Page key. */ keyboardStepLarge?: number | undefined; /** Container width below which horizontal panels stack vertically. */ stackBelow?: number | undefined; /** i18n label templates; '{panel}' is replaced by the panel label/id. */ labels?: { resize?: string | undefined; } | undefined; }; declare function ResizablePanelsRoot({ orientation, defaultLayout, onLayout, autoSaveId, keyboardStep, keyboardStepLarge, stackBelow, labels, children, render, ...rest }: ResizablePanelsRootProps): React.JSX.Element; declare namespace ResizablePanelsRoot { var displayName: string; } export type ResizablePanelProps = PartProps<'div'> & { id: string; /** Percent, or a pixel string like '240px' converted against the root rect. */ defaultSize?: number | `${number}px` | undefined; minSize?: number | `${number}px` | undefined; maxSize?: number | `${number}px` | undefined; collapsible?: boolean | undefined; collapsedSize?: number | `${number}px` | undefined; expandedSize?: number | `${number}px` | undefined; label?: string | undefined; onCollapse?: (() => void) | undefined; onExpand?: (() => void) | undefined; }; declare function ResizablePanel({ id, defaultSize, minSize, maxSize, collapsible, collapsedSize, expandedSize, label, onCollapse, onExpand, children, render, style, ...rest }: ResizablePanelProps): React.ReactElement>; declare namespace ResizablePanel { var displayName: string; } export type ResizableHandleProps = PartProps<'div'> & { /** Accessible label for the separator (defaults from the preceding panel). */ label?: string | undefined; /** Disabled: aria-disabled + no listeners. */ disabled?: boolean | undefined; /** Render the grip affordance span. */ withGrip?: boolean | undefined; }; declare function ResizableHandle({ label, disabled, withGrip, render, ...rest }: ResizableHandleProps): React.ReactElement>; declare namespace ResizableHandle { var displayName: string; } export declare const ResizablePanels: { Root: typeof ResizablePanelsRoot; Panel: typeof ResizablePanel; Handle: typeof ResizableHandle; }; export {}; //# sourceMappingURL=ResizablePanels.d.ts.map