import { BaseProperties } from 'ag-charts-core'; import type { BoxBounds, CanvasPoint, CrossLineLabelOverflow, Scale } from 'ag-charts-core'; import type { AgCartesianAxisPosition, AgCartesianCrossLineLabelOptions, AgCrossLineLabelPosition, AgCrossLineListeners, 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; overflow?: CrossLineLabelOverflow; reserveSpace: boolean; rotation?: number; parallel?: boolean; } export declare class CartesianCrossLine extends BaseProperties implements CrossLine { static readonly className = "CrossLine"; readonly internalId: string; 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; listeners?: AgCrossLineListeners; scale?: Scale; clippedRange: [number, number]; gridLength: number; gridPadding: number; containerBox?: BoxBounds; position: AgCartesianAxisPosition; get defaultLabelPosition(): AgCrossLineLabelPosition; readonly rangeGroup: Group; readonly lineGroup: Group; readonly labelGroup: Group; private readonly crossLineRange; private readonly crossLineLabel; private data; private startLine; private endLine; constructor(); /** * Hit-tests a canvas-space point against this cross line's rendered line/fill and its label, widened * by {@link CROSS_LINE_HIT_TOLERANCE} so thin `line` cross lines remain targetable. The `crossLineRange` * node holds the geometry for both the `line` (stroke) and `range` (fill) variants; its bbox is * transformed into canvas space to match the pointer coordinates carried by pointer events. */ containsPoint(point: CanvasPoint): boolean; private _isRange; update(visible: boolean): void; calculateLayout(visible: boolean): void; get reservesLabelSpace(): boolean; /** Taken from the drawn node, so whatever `positionLabel` and `clipLabelText` settled on is reserved. */ getLabelBox(): BoxBounds | undefined; private updateNodes; private updateRangeNode; private updateLabel; private get anchor(); /** Offsets `positionLabel` applies to the anchor point, shared so both agree on where the box sits. */ private labelAnchorOffsets; /** * Ellipsises a `'clip-text'` label to the chart container. Bounded from the anchor point, not the drawn * box: a box-relative bound moves as the text shortens, so it would never settle. */ private clipLabelText; private positionLabel; private computeLabelSize; calculatePadding(into: Partial>): void; } export {};