import { type AgFunnelSeriesOptions, type AgFunnelSeriesStyle, _ModuleSupport } from 'ag-charts-community';
import type { DynamicContext, RequireOptional } from 'ag-charts-core';
import type { AgNumericValue } from 'ag-charts-types';
import { BaseFunnelSeries, type BaseFunnelSeriesTypes, type Bounds, type FunnelAnimationData, type FunnelNodeDatum, type FunnelNodeLabelDatum } from './baseFunnelSeries';
import { FunnelProperties } from './funnelProperties';
/**
 * Consolidated type interface for FunnelSeries.
 */
interface FunnelSeriesTypes extends BaseFunnelSeriesTypes {
    readonly node: _ModuleSupport.Rect<FunnelNodeDatum>;
    readonly options: AgFunnelSeriesOptions;
    readonly properties: FunnelProperties;
}
export declare class FunnelSeries extends BaseFunnelSeries<FunnelSeriesTypes> {
    static readonly className = "FunnelSeries";
    static readonly type: "funnel";
    properties: FunnelProperties;
    constructor(moduleCtx: DynamicContext<_ModuleSupport.ChartRegistry>);
    getBandScalePadding(): {
        inner: number;
        outer: number;
    };
    protected connectorEnabled(): boolean;
    protected connectorStyle(index: number): RequireOptional<AgFunnelSeriesStyle> & {
        opacity: number;
    };
    protected nodeFactory(): _ModuleSupport.Rect<FunnelNodeDatum>;
    protected createLabelData({ datumIndex, rect, yDatum, datum, visible, }: {
        datumIndex: number;
        rect: Bounds;
        barAlongX: boolean;
        yDatum: AgNumericValue;
        datum: any;
        visible: boolean;
    }): FunnelNodeLabelDatum | undefined;
    protected getItemStyle({ datum, datumIndex }: Pick<FunnelNodeDatum, 'datum' | 'datumIndex'>, isHighlight: boolean): Required<AgFunnelSeriesStyle> & {
        opacity: number;
    } & Partial<AgFunnelSeriesOptions<any, unknown> & {
        fill: import("ag-charts-core").NormalisedColorType;
        fillOpacity: number;
        stroke: string;
        strokeWidth: number;
        strokeOpacity: number;
        lineDash: number[];
        lineDashOffset: number;
        opacity: number;
    }> & Partial<AgFunnelSeriesOptions<any, unknown> & {
        fill: import("ag-charts-core").NormalisedColorType;
        fillOpacity: number;
        stroke: string;
        strokeWidth: number;
        strokeOpacity: number;
        lineDash: number[];
        lineDashOffset: number;
        opacity: number;
    }>;
    protected updateDatumNodes({ datumSelection, isHighlight, }: {
        datumSelection: _ModuleSupport.Selection<FunnelNodeDatum, _ModuleSupport.Rect<FunnelNodeDatum>>;
        isHighlight: boolean;
    }): void;
    protected tooltipStyle(datum: unknown, datumIndex: number): Required<AgFunnelSeriesStyle> & {
        opacity: number;
    } & Partial<AgFunnelSeriesOptions<any, unknown> & {
        fill: import("ag-charts-core").NormalisedColorType;
        fillOpacity: number;
        stroke: string;
        strokeWidth: number;
        strokeOpacity: number;
        lineDash: number[];
        lineDashOffset: number;
        opacity: number;
    }> & Partial<AgFunnelSeriesOptions<any, unknown> & {
        fill: import("ag-charts-core").NormalisedColorType;
        fillOpacity: number;
        stroke: string;
        strokeWidth: number;
        strokeOpacity: number;
        lineDash: number[];
        lineDashOffset: number;
        opacity: number;
    }>;
    animateEmptyUpdateReady(params: FunnelAnimationData<_ModuleSupport.Rect<FunnelNodeDatum>>): void;
    animateWaitingUpdateReady(data: FunnelAnimationData<_ModuleSupport.Rect<FunnelNodeDatum>>): void;
    protected hasItemStylers(): boolean;
}
export {};
