import { BaseProperties, type Scale } from 'ag-charts-core';
import type { AgCartesianAxisPosition, AgCartesianCrossLineLabelOptions, AgCrossLineLabelPosition, Padding } from 'ag-charts-types';
import { Group } from '../../scene/group';
import { LabelStyle } from '../label';
import { type CrossLine, type CrossLineType } from './crossLine';
import type { CrossLineLabelPosition } from './crossLineLabelPosition';
declare class CartesianCrossLineLabel extends LabelStyle implements AgCartesianCrossLineLabelOptions {
    enabled: boolean;
    padding: Padding;
    text?: string;
    position?: CrossLineLabelPosition;
    rotation?: number;
    parallel?: boolean;
}
export declare class CartesianCrossLine extends BaseProperties implements CrossLine<CartesianCrossLineLabel> {
    static readonly className = "CrossLine";
    readonly id: string;
    enabled?: boolean;
    type: CrossLineType;
    range?: [unknown, unknown];
    value?: unknown;
    defaultColorRange: string[];
    fill: string;
    fillOpacity?: number;
    stroke?: string;
    strokeWidth?: number;
    strokeOpacity?: number;
    lineDash?: [];
    label: CartesianCrossLineLabel;
    scale?: Scale<any, number>;
    clippedRange: [number, number];
    gridLength: number;
    gridPadding: number;
    position: AgCartesianAxisPosition;
    get defaultLabelPosition(): AgCrossLineLabelPosition;
    readonly rangeGroup: Group<unknown>;
    readonly lineGroup: Group<unknown>;
    readonly labelGroup: Group<unknown>;
    private readonly crossLineRange;
    private readonly crossLineLabel;
    private data;
    private startLine;
    private endLine;
    constructor();
    private _isRange;
    update(visible: boolean): void;
    calculateLayout(visible: boolean): void;
    private updateNodes;
    private updateRangeNode;
    private updateLabel;
    private get anchor();
    private positionLabel;
    private computeLabelSize;
    calculatePadding(into: Partial<Record<AgCrossLineLabelPosition, number>>): void;
}
export {};
