import { ItemValue, Question } from "survey-core";
import { SelectBase } from "./selectBase";
export declare class PivotModel extends SelectBase {
    private questions;
    private isRoot;
    protected valueType: "enum" | "date" | "number";
    private _cachedValues;
    private _continuousData;
    private _cachedIntervals;
    private _intervalPrecision;
    private axisXSelector;
    axisXQuestionName: string;
    private axisYSelectors;
    axisYQuestionNames: Array<string>;
    private questionsY;
    static IntervalsCount: number;
    static UseIntervalsFrom: number;
    constructor(questions: Array<Question>, data: Array<{
        [index: string]: any;
    }>, options?: Object, name?: string, isRoot?: boolean);
    private createYSelecterGenerator;
    setAxisQuestions(...axisQuestionNames: string[]): void;
    onAxisYSelectorChanged(index: number, value: any): void;
    protected updateQuestionsSelection(): void;
    private createAxisYSelector;
    protected setChartType(chartType: string): void;
    private isXYChart;
    getQuestionValueType(question: Question): "enum" | "date" | "number";
    private setupPivot;
    private reset;
    getContinuousValue(value: any): number;
    getString(value: number): string;
    private toPrecision;
    getSelectedItemByText(itemText: string): ItemValue;
    /**
     * Updates visualizer data.
     */
    updateData(data: Array<{
        [index: string]: any;
    }>): void;
    protected onDataChanged(): void;
    protected getContinuousValues(): {
        original: any;
        continuous: number;
        row: any;
    }[];
    protected isSupportAnswersOrder(): boolean;
    protected isSupportMissingAnswers(): boolean;
    protected get needUseRateValues(): boolean;
    getSeriesValues(): Array<string>;
    getSeriesLabels(): Array<string>;
    getValues(): Array<any>;
    getLabels(): Array<string>;
    get hasCustomIntervals(): boolean;
    get intervals(): any;
    convertFromExternalData(externalCalculatedData: any): any[];
    getSeriesValueIndexes(): {
        [index: string]: number;
    };
    updateStatisticsSeriesValue(statistics: Array<Array<number>>, dataRow: {
        [index: string]: any;
    }, valueIndex: number, seriesValueIndexes: {
        [index: string]: number;
    }): void;
    protected getCalculatedValuesCore(): Array<any>;
    getValueType(): "enum" | "date" | "number";
    protected isSupportSoftUpdateContent(): boolean;
    protected renderToolbar(container: HTMLElement): void;
}
