import { Margin } from '../buildMargin';
import { HorizontalLayoutAdjustments, LayoutPassInput, LayoutPassOutput, VerticalLayoutAdjustments } from './sharedLayout.types';
export declare function computeVerticalInnerWidth(width: number, margin: Margin): number;
export declare function computeVerticalInnerHeight(height: number, margin: Margin, adjustments: VerticalLayoutAdjustments): number;
export declare function computeHorizontalInnerWidth(width: number, margin: Margin, adjustments: HorizontalLayoutAdjustments): number;
export declare function computeHorizontalInnerHeight(height: number, margin: Margin, adjustments: HorizontalLayoutAdjustments): number;
export declare function resolveYAxisVisibility(args: {
    initialShowYAxisLabels: boolean;
    minInnerPlotWidth: number;
    buildMargin: (showYAxisLabels: boolean) => Margin;
    computeInnerWidth: (margin: Margin) => number;
}): {
    showYAxisLabels: boolean;
    margin: Margin;
    innerWidth: number;
};
export declare function runTwoPassLayout<TChart, TExtra extends object = {}>(args: {
    seedInnerWidth: number;
    seedInnerHeight: number;
    initialShowYAxisLabels: boolean;
    buildPass: (input: LayoutPassInput) => LayoutPassOutput<TChart, TExtra>;
}): LayoutPassOutput<TChart, TExtra>;
