import type { AgBaseCrossLineLabelOptions } from 'ag-charts-community';
import { _ModuleSupport } from 'ag-charts-community';
import { BaseProperties, ChartAxisDirection, type Scale } from 'ag-charts-core';
declare const LabelStyle: typeof _ModuleSupport.LabelStyle;
export declare class PolarCrossLineLabel extends LabelStyle implements AgBaseCrossLineLabelOptions {
    enabled?: boolean;
    padding: number;
    text?: string;
    parallel?: boolean;
    /** Used by radius cross-lines only; ignored on angle cross-lines. */
    positionAngle?: number;
}
/**
 * Unified polar cross-line. Branches on `direction` to render either an angle-axis or
 * radius-axis cross-line; the merged class replaces the previous abstract base + `AngleCrossLine`
 * / `RadiusCrossLine` subclass split. The factory in the enterprise `CrossLinesModule` constructs
 * with the appropriate direction; `applyPolarLayout` populates whichever fields the active
 * direction consumes (`ticks` for angle, `gridAngles` for radius).
 */
export declare class PolarCrossLine extends BaseProperties implements _ModuleSupport.PolarCrossLine {
    static readonly className = "PolarCrossLine";
    readonly id: string;
    enabled?: boolean;
    type: _ModuleSupport.CrossLineType;
    range?: [unknown, unknown];
    value?: unknown;
    defaultColorRange: string[];
    fill?: string;
    fillOpacity?: number;
    stroke?: string;
    strokeWidth?: number;
    strokeOpacity?: number;
    lineDash?: [];
    shape: 'polygon' | 'circle';
    label: PolarCrossLineLabel;
    scale?: Scale<any, number>;
    clippedRange: [number, number];
    gridLength: number;
    gridPadding: number;
    sideFlag: 1 | -1;
    parallelFlipRotation: number;
    regularFlipRotation: number;
    direction: ChartAxisDirection;
    axisInnerRadius: number;
    axisOuterRadius: number;
    /** Populated by `applyPolarLayout` for angle cross-lines (axis tick values). */
    ticks: any[];
    /** Populated by `applyPolarLayout` for radius cross-lines (radial grid angles). */
    gridAngles?: number[];
    readonly lineGroup: _ModuleSupport.Group<unknown>;
    readonly rangeGroup: _ModuleSupport.Group<unknown>;
    readonly labelGroup: _ModuleSupport.Group<unknown>;
    private readonly polygonNode;
    private readonly sectorNode;
    private readonly lineNode;
    private readonly crossLineRange;
    private readonly labelNode;
    private outerRadius;
    private innerRadius;
    private _isRange;
    constructor(direction: ChartAxisDirection);
    applyPolarLayout(layout: _ModuleSupport.PolarAxisLayout): void;
    update(visible: boolean): void;
    private updateAngle;
    private angleVisibilityCheck;
    private updateAngleLineNode;
    private updateAnglePolygonNode;
    private updateAngleSectorNode;
    private updateAngleLabelNode;
    private updateRadius;
    private updateRadii;
    private drawRadiusPolygon;
    private updateRadiusPolygonNode;
    private updateRadiusSectorNode;
    private updateRadiusLabelNode;
    private getRadiusPadding;
    private assignCrossLineGroup;
    private setSectorNodeProps;
    private setLabelNodeProps;
}
export {};
