import { type AgMapLineSeriesStyle, _ModuleSupport } from 'ag-charts-community';
import type { DynamicContext, PlacedLabel } from 'ag-charts-core';
import { type Point } from 'ag-charts-core';
import type { AgMapLineSeriesOptions } from 'ag-charts-types';
import { GeoGeometry } from '../map-util/geoGeometry';
import { LonLatBBox } from '../map-util/lonLatBbox';
import { TopologySeries } from '../map-util/topologySeries';
import type { ITopology } from '../map-util/topologyTypes';
import { type MapLineNodeDatum, type MapLineNodeLabelDatum, MapLineSeriesProperties } from './mapLineSeriesProperties';
interface MapLineNodeDataContext extends _ModuleSupport.DataModelSeriesNodeDataContext<MapLineNodeDatum, MapLineNodeLabelDatum> {
}
export declare class MapLineSeries extends TopologySeries<MapLineNodeDatum, AgMapLineSeriesOptions, MapLineSeriesProperties, MapLineNodeLabelDatum, MapLineNodeDataContext> implements ITopology {
    static readonly className = "MapLineSeries";
    static readonly type: "map-line";
    scale: _ModuleSupport.MercatorScale | undefined;
    topologyBounds: LonLatBBox | undefined;
    properties: MapLineSeriesProperties;
    private _chartTopology?;
    getNodeData(): MapLineNodeDatum[] | undefined;
    private get topology();
    get hasData(): boolean;
    private readonly colorScale;
    private readonly sizeScale;
    datumSelection: _ModuleSupport.Selection<MapLineNodeDatum, GeoGeometry<MapLineNodeDatum>>;
    private labelSelection;
    private highlightDatumSelection;
    private highlightLabelSelection;
    private placedLabelData;
    contextNodeData?: MapLineNodeDataContext;
    constructor(moduleCtx: DynamicContext<_ModuleSupport.ChartRegistry>);
    renderToOffscreenCanvas(): boolean;
    setZIndex(zIndex: number): boolean;
    setChartTopology(topology: any): void;
    private isLabelEnabled;
    private nodeFactory;
    processData(dataController: _ModuleSupport.DataController): Promise<void>;
    private isColorScaleValid;
    private getLabelDatum;
    private resolveColumn;
    private resolveLineDataColumns;
    private prepareProjectedLineGeometries;
    private warnMissingGeometries;
    createNodeData(): {
        itemId: string;
        nodeData: MapLineNodeDatum[];
        labelData: MapLineNodeLabelDatum[];
    } | undefined;
    updateSelections(): void;
    update(): void;
    private updateDatumSelection;
    protected getItemStyle({ datumIndex, datum, colorValue, sizeValue }: Partial<MapLineNodeDatum>, isHighlight: boolean): Required<AgMapLineSeriesStyle>;
    private makeItemStylerParams;
    private updateDatumStyles;
    private updateDatumNodes;
    updatePlacedLabelData(labelData: PlacedLabel<MapLineNodeLabelDatum>[]): void;
    private updateLabelNodes;
    private updateHighlightLabelSelection;
    resetAnimation(): void;
    getLabelData(): MapLineNodeLabelDatum[];
    pickNodeClosestDatum({ x, y }: Point): _ModuleSupport.SeriesNodePickMatch | undefined;
    private _previousDatumMidPoint;
    datumMidPoint(datum: _ModuleSupport.SeriesNodeDatum<_ModuleSupport.DatumIndexType>): Point | undefined;
    private legendItemSymbol;
    getLegendData(legendType: _ModuleSupport.ChartLegendType): _ModuleSupport.CategoryLegendDatum[] | _ModuleSupport.GradientLegendDatum[];
    getTooltipContent(datumIndex: number): _ModuleSupport.TooltipContent | undefined;
    protected computeFocusBounds(opts: _ModuleSupport.PickFocusInputs): _ModuleSupport.BBox | undefined;
    protected hasItemStylers(): boolean;
}
export {};
