import type { LinearScale, Rect } from "../../../core/index";
import type { ResolvedCartesianChartTheme } from "../../theme";
import { type ReferenceCollisionGeometry } from "./referenceLabelPlacement";
import type { LineChartReferenceBandConfig, LineChartReferenceLineConfig } from "./types";
export type LineChartReferenceLabelContainerModel = {
    backgroundColor: string;
    borderRadius: number;
    opacity: number;
    paddingX: number;
    paddingY: number;
};
export type LineChartReferenceLineModel = {
    key: string;
    x1: number;
    x2: number;
    y: number;
    color: string;
    opacity: number;
    strokeDasharray?: readonly number[];
    strokeWidth: number;
    label?: {
        text: string;
        x: number;
        y: number;
        color: string;
        container?: LineChartReferenceLabelContainerModel;
        fontSize: number;
        textAnchor: "middle" | "start" | "end";
    };
};
export type LineChartReferenceBandModel = {
    key: string;
    x: number;
    y: number;
    width: number;
    height: number;
    color: string;
    opacity: number;
    label?: {
        text: string;
        x: number;
        y: number;
        color: string;
        container?: LineChartReferenceLabelContainerModel;
        fontSize: number;
        textAnchor: "middle" | "start" | "end";
    };
};
export declare const buildLineChartReferenceLineModels: ({ geometries, lines, plot, theme, yScale }: {
    geometries?: ReferenceCollisionGeometry[] | undefined;
    lines: LineChartReferenceLineConfig[] | undefined;
    plot: Rect;
    theme: ResolvedCartesianChartTheme;
    yScale: LinearScale;
}) => LineChartReferenceLineModel[];
export declare const buildLineChartReferenceBandModels: ({ bands, plot, theme, yScale }: {
    bands: LineChartReferenceBandConfig[] | undefined;
    plot: Rect;
    theme: ResolvedCartesianChartTheme;
    yScale: LinearScale;
}) => LineChartReferenceBandModel[];
//# sourceMappingURL=references.d.ts.map