export declare type Optional<T, K extends keyof T> = Omit<T, K> & Partial<T>;
export declare type Direction = 'horizontal' | 'vertical';
export declare type FunnelData = {
    labels: string[];
    colors: string | string[];
    values: number[];
};
export declare type FunnelDataLayered = {
    labels: string[];
    subLabels: string[];
    colors: (string | string[])[];
    values: number[][];
};
export declare const isLayered: (data: Partial<FunnelData | FunnelDataLayered>) => data is FunnelDataLayered;
export interface FunnelOptions {
    container: string | Element;
    data: Optional<FunnelData, 'labels' | 'colors'> | Optional<FunnelDataLayered, 'labels' | 'colors' | 'subLabels'>;
    gradientDirection?: Direction;
    direction?: Direction;
    displayPercent?: boolean;
    width?: number;
    height?: number;
    subLabelValue?: 'percent' | 'raw';
}
