import * as React from 'react';
import { Orientation } from '../shared/index.js';
export { ResizableLayoutAPI, resizableDividerVariants, resizableLayoutTokens, resizableLayoutVariants, resizablePaneVariants } from '../resizable-layout/index.js';

interface ResizableLayoutProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'defaultValue'> {
    orientation?: Orientation;
    defaultSizes?: number[];
    minSizes?: number[];
    maxSizes?: number[];
    persistKey?: string;
    onSizesChange?: (sizes: number[]) => void;
}
/**
 * ResizableLayout — flex container with resizable panes separated by draggable dividers.
 * Uses pointer events for cross-platform drag support.
 */
declare const ResizableLayout: React.ForwardRefExoticComponent<ResizableLayoutProps & React.RefAttributes<HTMLDivElement>>;
interface ResizablePaneProps extends React.HTMLAttributes<HTMLDivElement> {
    /** Zero-based index of this pane (order in the layout) */
    index: number;
}
/**
 * ResizablePane — a single pane whose size is driven by CSS custom properties.
 */
declare const ResizablePane: React.ForwardRefExoticComponent<ResizablePaneProps & React.RefAttributes<HTMLDivElement>>;
interface ResizableDividerProps extends React.HTMLAttributes<HTMLDivElement> {
    /** Index of the divider (between pane[index] and pane[index+1]) */
    index: number;
}
/**
 * ResizableDivider — draggable handle between two panes.
 * Uses pointer events for cross-platform drag support (mouse + touch).
 */
declare const ResizableDivider: React.ForwardRefExoticComponent<ResizableDividerProps & React.RefAttributes<HTMLDivElement>>;

export { ResizableDivider, type ResizableDividerProps, ResizableLayout, type ResizableLayoutProps, ResizablePane, type ResizablePaneProps };
