import { ResizablePanelConfig } from '../resizable_constants';
import { ConstraintHierarchy } from './constraintResolver';
export interface SavedPanelData {
    id: string;
    pixelSize: number;
    collapsed?: boolean;
    autoCollapsed?: boolean;
    manualTargetRatio?: number;
}
export interface LayoutInput {
    panels: ResizablePanelConfig[];
    containerSize: number;
    savedState?: SavedPanelData[];
}
export interface PanelPosition {
    id: string;
    left: number;
    right: number;
    width: number;
    collapsed: boolean;
    constraints: ConstraintHierarchy;
}
export interface HandlePosition {
    id: string;
    beforePanelId: string;
    afterPanelId: string;
    left: number;
    disabled: boolean;
}
export interface LayoutResult {
    panels: Map<string, PanelPosition>;
    handles: HandlePosition[];
}
export declare function computeLayout(input: LayoutInput): LayoutResult;
//# sourceMappingURL=computeLayout.d.ts.map