import { SplitPaneConfig } from './types';
export type { PaneConfig, SplitOrientation, SplitPaneConfig } from './types';
export declare class SplitPane {
    private readonly container;
    private readonly config;
    private wrapperEl;
    private readonly paneStates;
    private isDragging;
    private readonly handleMouseMove;
    private readonly handleMouseUp;
    constructor(config: SplitPaneConfig);
    /** Get the HTMLElement for a pane by id */
    getPane(id: string): HTMLElement | null;
    /** Collapse a pane to zero size */
    collapse(id: string): void;
    /** Expand a previously collapsed pane */
    expand(id: string): void;
    /** Set pane sizes by id. Values can be numbers (percent) or strings (e.g. "50%", "200px") */
    setSizes(sizes: Record<string, number | string>): void;
    /** Remove all DOM elements and event listeners */
    destroy(): void;
    /** Build the DOM structure for the split pane */
    private buildDom;
    /** Apply current size percentages to the pane elements */
    private applySizes;
    /** Handle gutter mousedown to start drag */
    private onMouseDown;
    /** Handle mouse move during gutter drag */
    private onMouseMove;
    /** Handle mouse up to end gutter drag */
    private onMouseUp;
    /** Find a pane state by id */
    private findPaneState;
    /** Get the other pane state (opposite of the given id) */
    private getOtherPane;
}
//# sourceMappingURL=index.d.ts.map