import { type AgConeFunnelSeriesOptions, type AgConeFunnelSeriesStyle, _ModuleSupport } from 'ag-charts-community';
import type { RequireOptional } from 'ag-charts-core';
import { BaseFunnelSeries, type BaseFunnelSeriesTypes, type Bounds, type FunnelNodeDatum, type FunnelNodeLabelDatum } from '../funnel/baseFunnelSeries';
import { ConeFunnelProperties } from './coneFunnelProperties';
/**
 * Consolidated type interface for ConeFunnelSeries.
 */
interface ConeFunnelSeriesTypes extends BaseFunnelSeriesTypes {
    readonly node: _ModuleSupport.Line;
    readonly options: AgConeFunnelSeriesOptions;
    readonly properties: ConeFunnelProperties;
}
export declare class ConeFunnelSeries extends BaseFunnelSeries<ConeFunnelSeriesTypes> {
    static readonly className = "ConeFunnelSeries";
    static readonly type: "cone-funnel";
    properties: ConeFunnelProperties;
    constructor(moduleCtx: _ModuleSupport.ModuleContext);
    get hasData(): boolean;
    getBandScalePadding(): {
        inner: number;
        outer: number;
    };
    protected connectorEnabled(): boolean;
    protected getItemStyle({ datumIndex }: Pick<FunnelNodeDatum, 'datumIndex'>, _isHighlight: boolean): RequireOptional<AgConeFunnelSeriesStyle> & {
        opacity: number;
    };
    protected connectorStyle(index: number): RequireOptional<AgConeFunnelSeriesStyle> & {
        opacity: number;
    };
    protected nodeFactory(): _ModuleSupport.Line;
    protected createLabelData({ datumIndex, rect, barAlongX, yDatum, datum, visible, }: {
        datumIndex: number;
        rect: Bounds;
        barAlongX: boolean;
        yDatum: number;
        datum: any;
        visible: boolean;
    }): FunnelNodeLabelDatum | undefined;
    protected updateDatumNodes(opts: {
        datumSelection: _ModuleSupport.Selection<_ModuleSupport.Line, FunnelNodeDatum>;
        isHighlight: boolean;
    }): void;
    protected tooltipStyle(_datum: any, datumIndex: number): {
        fill: import("ag-charts-community").AgColorType;
        fillOpacity: number;
        stroke: string;
        strokeOpacity: number;
        strokeWidth: number;
        lineDash: number[];
        lineDashOffset: number;
    };
    protected hasItemStylers(): boolean;
}
export {};
