import * as React from 'react';
import { IFunnelChartDataPoint } from './FunnelChart.types';
export interface IFunnelSegmentGeometry {
    pathD: string;
    textX: number;
    textY: number;
    availableWidth: number;
}
export interface IStackedFunnelSegmentGeometry {
    pathD: string;
    textX: number;
    textY: number;
    availableWidth: number;
}
interface ISubValue {
    category: string;
    value: number;
    color: string;
}
interface IStage {
    subValues: ISubValue[];
}
export declare function getVerticalFunnelSegmentGeometry({ d, i, data, funnelWidth, funnelHeight, isRTL, }: {
    d: IFunnelChartDataPoint;
    i: number;
    data: IFunnelChartDataPoint[];
    funnelWidth: number;
    funnelHeight: number;
    isRTL: boolean;
}): IFunnelSegmentGeometry;
export declare function getHorizontalFunnelSegmentGeometry({ d, i, data, funnelWidth, funnelHeight, isRTL, }: {
    d: IFunnelChartDataPoint;
    i: number;
    data: IFunnelChartDataPoint[];
    funnelWidth: number;
    funnelHeight: number;
    isRTL: boolean;
}): IFunnelSegmentGeometry;
export declare function getStackedVerticalFunnelSegmentGeometry({ i, k, stages, totals, maxTotal, funnelWidth, funnelHeight, }: {
    i: number;
    k: number;
    stages: IStage[];
    totals: number[];
    maxTotal: number;
    funnelWidth: number;
    funnelHeight: number;
}): IStackedFunnelSegmentGeometry;
export declare function getStackedHorizontalFunnelSegmentGeometry({ i, k, stages, totals, maxTotal, funnelWidth, funnelHeight, }: {
    i: number;
    k: number;
    stages: IStage[];
    totals: number[];
    maxTotal: number;
    funnelWidth: number;
    funnelHeight: number;
}): IStackedFunnelSegmentGeometry;
export declare function getSegmentTextProps({ availableWidth, minTextWidth, textX, textY, value, culture, onMouseOver, onMouseMove, onMouseOut, }: {
    availableWidth: number;
    minTextWidth?: number;
    textX: number;
    textY: number;
    value: number;
    culture: string | undefined;
    onMouseOver: ((event: React.MouseEvent<SVGElement>) => void) | undefined;
    onMouseMove: ((event: React.MouseEvent<SVGElement>) => void) | undefined;
    onMouseOut: () => void;
}): {
    show: boolean;
    x: number;
    y: number;
    value: number;
    culture: string | undefined;
    onMouseOver: ((event: React.MouseEvent<SVGElement>) => void) | undefined;
    onMouseMove: ((event: React.MouseEvent<SVGElement>) => void) | undefined;
    onMouseOut: () => void;
};
export {};
