import { ReactElement } from 'react'; /** * Props for the Resizable component * @interface ResizeableLayoutProps * @property {string} [_key] - Optional unique key for the component * @property {boolean} [vertical=false] - Whether the resizable panels should be arranged vertically (side by side) or horizontally (stacked) * @property {boolean} [hidden=false] - Whether the secondary panel should be hidden * @property {number} [offset=0] - Offset in pixels to adjust the resizing behavior. * - When positive: Main panel is on the left/top, secondary panel is on the right/bottom * - When negative: Main panel is on the right/bottom, secondary panel is on the left/top * The absolute value of offset determines the minimum size of the panels * @property {number} [defaultSize=1] - Default size as a percentage (0-1) * @property {[ReactElement, ReactElement]} children - Exactly two child elements representing the main and secondary panels **/ interface ResizeableLayoutProps { _key?: string; vertical?: boolean; hidden?: boolean; offset?: number; defaultSize?: number; children: [ReactElement, ReactElement]; } /** * A resizable layout component that allows users to adjust the size of two panels using a draggable divider. * * The component supports both vertical (side-by-side) and horizontal (stacked) layouts. * The panels can be resized by dragging the divider between them, and the secondary panel can be hidden. * * Panel Ordering: * - By default (offset >= 0): Main panel is on the left/top, secondary panel is on the right/bottom * - With negative offset: Main panel is on the right/bottom, secondary panel is on the left/top * * @example * ```tsx * // Default layout (main panel on left) * *
Left Panel
*
Right Panel
*
* * // Reversed layout (main panel on right) * *
Right Panel
*
Left Panel
*
* ``` * * @param {ResizeableLayoutProps} props - The component props * @returns {JSX.Element} A resizable layout with two panels **/ export declare function Resizable({ _key, children: [mainPanel, secondaryPanel], vertical, offset, hidden, defaultSize, }: ResizeableLayoutProps): import("react/jsx-runtime").JSX.Element; export {};