import { StackDirection } from './types'; export interface PaneResizeOptions { /** Stack layout direction */ direction?: StackDirection; /** Min pane size as fraction of available stack dimension (default 1/6) */ minPaneRatio?: number; /** Absolute min pane size in px */ minPanePx?: number; /** Divider hit area size (default 6) */ dividerSize?: number; onResize?: (ratiosById: Record) => void; onDragStart?: (leadingIdx: number, trailingIdx: number) => number[]; onDragMove?: (sizesPx: number[], leadingIdx: number, trailingIdx: number) => void; onDragEnd?: (finalSizesPx: number[]) => void; } export declare function injectDividerStyles(direction: StackDirection): void; export declare function measurePaneSizes(paneWrappers: HTMLDivElement[], isHorizontal: boolean): number[]; export declare function resolveDragStartSizes(onDragStart: PaneResizeOptions["onDragStart"], leadingIdx: number, trailingIdx: number, paneWrappers: HTMLDivElement[], isHorizontal: boolean): number[]; export interface PaneResizeController { dividers: HTMLDivElement[]; destroy: () => void; } declare function paneFlexStyle(ratio: number | string, direction: StackDirection): string; export declare function resolveMinPaneHeightPx(availHeight: number, paneCount: number, minPaneRatio?: number, minPanePx?: number): number; export declare function resolveMinPaneWidthPx(availWidth: number, paneCount: number, minPaneRatio?: number, minPanePx?: number): number; export declare function normalizePaneHeights(heightsPx: number[], targetTotal: number): number[]; export declare const normalizePaneWidths: typeof normalizePaneHeights; export declare function attachPaneResize(container: HTMLDivElement, paneWrappers: HTMLDivElement[], paneIds: string[], ratios: number[], options?: PaneResizeOptions): PaneResizeController; export declare function applyPaneFlexRatios(paneWrappers: HTMLDivElement[], ratios: number[], direction?: StackDirection): void; export declare function initialPaneRatio(height: number | string): number; export { paneFlexStyle };