import { ResizablePanelConfig } from '../resizable_constants';
export interface ConstraintHierarchy {
    userMinSizePixels?: number;
    userMaxSizePixels?: number;
    systemMinSizePixels?: number;
    systemMaxSizePixels?: number;
    collapseSizePixels?: number;
}
export declare function clampSize(value: number, min?: number, max?: number): number;
export declare function clampToTier(value: number, constraints: ConstraintHierarchy, tier?: 'user' | 'system'): number;
export declare function resolveUserConstraints(panelConfig: ResizablePanelConfig, containerSize: number): {
    userMinSizePixels?: number;
    userMaxSizePixels?: number;
};
export declare function clampSystemMin(systemMin: number | undefined, userMin: number | undefined): number | undefined;
export declare function clampSystemMax(systemMax: number | undefined, userMax: number | undefined): number | undefined;
export declare function resolveSystemConstraints(panelConfig: ResizablePanelConfig, containerSize: number, userMinSizePixels?: number, userMaxSizePixels?: number): {
    systemMinSizePixels?: number;
    systemMaxSizePixels?: number;
};
export declare function calculateConstraintHierarchy(panelConfig: ResizablePanelConfig, containerSize: number): ConstraintHierarchy;
//# sourceMappingURL=constraintResolver.d.ts.map