import type { ScaleContinuousNumeric } from "d3-scale";
import type { Margin } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase/visualizations/shared/types/layout";
import type { TextWidthMeasurer } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase/visualizations/shared/types/measure-text";
import type { ChartGoal } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase/visualizations/shared/types/settings";
import type { ChartFont, GoalStyle } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase/visualizations/shared/types/style";
import type { SeriesData } from "../types";
export declare const getMaxWidth: (formattedYTicks: string[], ticksFont: ChartFont, measureTextWidth: TextWidthMeasurer) => number;
export declare const getChartMargin: <TDatum>(seriesData: SeriesData<TDatum>[], yTickFormatter: (value: any) => string, ticksFont: ChartFont, labelFont: ChartFont, hasGoalLine: boolean, measureTextWidth: TextWidthMeasurer, xLabel?: string | null, yLabel?: string | null, hasXAxis?: boolean, hasYAxis?: boolean) => Margin;
export declare const getMaxYValuesCount: (viewportHeight: number, minBarWidth: number, isStacked: boolean, seriesCount: number) => number;
export declare const getRowChartGoal: (goal: ChartGoal | null | undefined, style: GoalStyle, measureTextWidth: TextWidthMeasurer, xScale: ScaleContinuousNumeric<number, number, never>) => {
    position: "right" | "left";
    label: string;
    value: number;
} | null;
