import React from 'react';
import { AxisTitles, BarStyleOverrides, ChartIdPrefix, Datum, DatumByKey, GoalLine, OnClickEvent, Props as VizzlyXYChartProps } from '../XYChart';
import { ChartData, ChartProps, ColorFormatterByDatum } from '../types';
import { ChartRef } from '../utils/chartRendering';
import { ConditionalFormattingOption } from '../Legend/Legend';
import { DataType } from '../../../shared-logic/src/Field/types';
export interface FunnelChartProps extends ChartProps {
    x: string;
    keys: Array<string>;
    colors: string[];
    data: Array<ChartData>;
    xScaleKey?: string | null;
    xScaleDataType?: DataType | null;
    xAxisMin?: number | null;
    xAxisMax?: number | null;
    forceXAxisAsTime?: boolean;
    showTotalOnTooltip?: boolean;
    formatSeriesName: VizzlyXYChartProps['formatSeriesName'];
    formatter: ColorFormatterByDatum;
    uniqueId: string;
    sparkline?: boolean;
    conditionalFormattingPossibilities?: (dataKey: string) => Array<ConditionalFormattingOption>;
    onClick?: (value: Datum | undefined, nearestDatums?: DatumByKey, event?: OnClickEvent) => void;
    goalLine?: GoalLine[];
    axisTitles?: AxisTitles;
    styles?: BarStyleOverrides;
    idPrefix: ChartIdPrefix;
    enableHover?: boolean;
    labels: boolean;
}
declare type FilterFunnelDataByNumericXBoundsArgs = {
    data: ChartData[];
    xScaleKey?: string | null;
    xScaleDataType?: DataType | null;
    xAxisMin?: number | null;
    xAxisMax?: number | null;
};
export declare const filterFunnelDataByNumericXBounds: ({ data, xScaleKey, xScaleDataType, xAxisMin, xAxisMax, }: FilterFunnelDataByNumericXBoundsArgs) => ChartData[];
export declare const addChangeFromPreviousValuesToData: (data: ChartData[]) => {
    data: {
        [x: string]: any;
    }[];
    keys: string[];
};
export declare const FunnelChart: React.ForwardRefExoticComponent<FunnelChartProps & React.RefAttributes<ChartRef>>;
export {};
