import { AbstractSvgChartRenderer, Chart } from '../index';
import { ChartValueGroup, ClickObject } from './Chart';
export declare class SalesfunnelChartRenderer extends AbstractSvgChartRenderer {
    segmentSelectorForAnimation: string;
    widthThresholdMedium: number;
    widthThresholdSmall: number;
    /**
     * Constants for "normalized mode"
     * Width of a bar is calculated by multiplying this value with the previous bar's width
     */
    barDeltaPercentage: number;
    /**
     * Factor to be multiplied with the last bar's width. This will create a funnel effect, because
     * the last bar is considerably smaller than the other bars.
     */
    lastBarAdditionalPercentage: number;
    /** Percentage of the total width the last bar always has (delta might get smaller due to this constraint). */
    lastBarMinWidthPercentage: number;
    paddingBetweenLabel: number;
    dataAnalyzeResult: AnalyzedData;
    barHeight: number;
    barAreaWidth: number;
    centerX: number;
    animationTriggered: boolean;
    constructor(chart: Chart);
    protected _validate(): boolean;
    protected _renderInternal(): void;
    protected _renderBarsNormalized(chartValueGroups: ChartValueGroup[]): void;
    protected _renderLabel(label: number, secondLabel: boolean, barIndexFromTop: number): void;
    protected _renderWireLabels(label: string, $text: JQuery<SVGElement>, x1: number, y1: number): void;
    protected _renderBarLabel(label: string, barIndexFromTop: number, barWidth: number): void;
    protected _renderConversionRate(barIndexFromTop: number, startPointX: number, conversionRate: number): void;
    protected _renderPolygon(renderPolyOptions: PolyOptions): JQuery<SVGElement>;
    protected _calcPolygonPoints(expand: boolean, fxPos: number, xStart: number, yStart: number, width: number, widthBottom: number, height: number): string;
    protected _renderBarsAccordingToValues(chartValueGroups: ChartValueGroup[]): void;
    protected _renderLabelSeparatorLine(yCoord: number, labelLineWidth: number): void;
    protected _calcConversionRate(valueBefore: number, value: number): number;
    protected _analyzeData(valueGroups: ChartValueGroup[]): AnalyzedData;
    protected _removeAnimated(afterRemoveFunc: (chartAnimationStopping?: boolean) => void): void;
    protected _dynamicCssClass(cssClass: string): string;
    protected _dynamicConversionRateWidth(): number;
}
export type AnalyzedData = {
    labelCount: number;
    maxValue: number;
    maxLengthFirstValueRow: number;
    maxLengthSecondValueRow: number;
};
export type PolyOptions = {
    id?: string;
    xStart: number;
    yStart: number;
    rect: boolean;
    width: number;
    widthBottom: number;
    cssClass: string;
    fill: string;
    label: string;
    clickObject: ClickObject;
};
//# sourceMappingURL=SalesfunnelChartRenderer.d.ts.map