import { Direction, FunnelData, FunnelDataLayered, FunnelOptions } from './types';
export declare class FunnelGraph {
    private container;
    private graphContainer;
    private containerSelector;
    private data;
    private gradientDirection;
    private direction;
    private displayPercent;
    private width;
    private height;
    private subLabelValue;
    constructor(options: FunnelOptions);
    private createContainer;
    private makeSVG;
    private drawPaths;
    private addLabels;
    private addSubLabels;
    private applyGradient;
    getMainAxisPoints(): number[];
    getCrossAxisPoints(): number[][];
    getGraphType(): "layered" | "normal";
    isVertical(): boolean;
    getDataSize(): number;
    getSubDataSize(): number;
    getFullDimension(): number;
    setValues(values: number[] | number[][]): this;
    setDirection(direction: Direction): this;
    setHeight(height: number): this;
    setWidth(width: number): this;
    getLayerSums(): number[];
    getLayerPercentages(): number[][];
    getPercentages(): number[];
    getSVG(): SVGSVGElement | undefined;
    getWidth(): number;
    getHeight(): number;
    getPathDefinitions(): string[];
    getPathMedian(i: number): string;
    makeVertical(): true | undefined;
    makeHorizontal(): true | undefined;
    toggleDirection(): void;
    gradientMakeVertical(): boolean;
    gradientMakeHorizontal(): boolean;
    gradientToggleDirection(): void;
    updateWidth(width: number): true | undefined;
    updateHeight(height: number): true | undefined;
    updateData(data: Partial<FunnelData | FunnelDataLayered>, reset?: boolean): void;
    update(options: FunnelOptions): void;
    draw(): void;
}
