import type { FieldData, FieldDef, PivotSortState, CellAddress, ICellHeaderPaths, DropDownMenuEventInfo, FieldKeyDef, IDimensionInfo, SortOrder, PivotChartConstructorOptions, AnyFunction, FilterRules, IPivotTableCellHeaderPaths, PivotChartAPI } from './ts-types';
import type { HierarchyState } from './ts-types';
import { PIVOT_CHART_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';
import { Dataset } from './dataset/dataset';
import { BaseTable } from './core/BaseTable';
import type { PivotChartProtected } from './ts-types/base-table';
import type { ITableAxisOption } from './ts-types/component/axis';
import { type LayouTreeNode } from './layout/tree-helper';
export declare class PivotChart extends BaseTable implements PivotChartAPI {
    layoutNodeId: {
        seqId: number;
    };
    internalProps: PivotChartProtected;
    options: PivotChartConstructorOptions;
    pivotSortState: PivotSortState[];
    dataset?: Dataset;
    _selectedDataItemsInChart: any[];
    _selectedDimensionInChart: {
        key: string;
        value: string;
    }[];
    _chartEventMap: Record<string, {
        query?: any;
        callback: AnyFunction;
    }[]>;
    _axes: ITableAxisOption[];
    constructor(options: PivotChartConstructorOptions);
    constructor(container: HTMLElement, options: PivotChartConstructorOptions);
    static get EVENT_TYPE(): typeof PIVOT_CHART_EVENT_TYPE;
    get pivotChartAxes(): any[];
    get recordsCount(): any;
    isListTable(): false;
    isPivotTable(): true;
    isPivotChart(): true;
    _canResizeColumn(col: number, row: number): boolean;
    updateOption(options: PivotChartConstructorOptions, updateConfig?: {
        clearColWidthCache?: boolean;
        clearRowHeightCache?: boolean;
    }): Promise<unknown>;
    updatePagination(): void;
    refreshHeader(): void;
    refreshRowColCount(): void;
    protected _getSortFuncFromHeaderOption(columns: undefined, field: FieldDef, fieldKey?: FieldKeyDef): ((v1: any, v2: any, order: SortOrder) => 0 | 1 | -1) | undefined;
    private syncHierarchyState;
    getRecordShowIndexByCell(col: number, row: number): number;
    getTableIndexByRecordIndex(recordIndex: number): number;
    getTableIndexByField(field: FieldDef): number;
    getCellAddrByFieldRecord(field: FieldDef, recordIndex: number): CellAddress;
    getBodyIndexByRow(row: number): number;
    getBodyIndexByCol(col: number): number;
    getCellValue(col: number, row: number, skipCustomMerge?: boolean): FieldData;
    getCellOriginValue(col: number, row: number): FieldData;
    getCellRawValue(col: number, row: number): any;
    getCellOriginRecord(col: number, row: number): any[];
    getCellRawRecord(col: number, row: number): any[];
    getPivotSortState(col: number, row: number): SortOrder;
    _moveHeaderPosition(source: CellAddress, target: CellAddress): {
        sourceIndex: number;
        targetIndex: any;
        sourceSize: any;
        targetSize: any;
        moveType: "row" | "column";
    };
    toggleHierarchyState(col: number, row: number, recalculateColWidths?: boolean): void;
    getHeaderCellAddressByPath(dimensionPaths: IDimensionInfo[]): CellAddress;
    getCellAddressByHeaderPaths(dimensionPaths: IPivotTableCellHeaderPaths | IDimensionInfo[]): CellAddress;
    getHeaderPathByXY(coordinate?: {
        x: number;
        y: number;
    }): ICellHeaderPaths;
    getHierarchyState(col: number, row: number): HierarchyState;
    getMenuInfo(col: number, row: number, type: string): DropDownMenuEventInfo;
    private _generateCollectValuesConfig;
    private _generateAggregationRules;
    private setCustomStateNameToSpec;
    updateFilterRules(filterRules: FilterRules): void;
    private _throttleTimer;
    private _latestFilterRules;
    private _throttledUpdateFilterRules;
    private _executeFilterUpdate;
    clearChartCacheImage(col?: number, row?: number): void;
    getLegendSelected(): any[];
    setLegendSelected(selectedData: (string | number)[]): void;
    getChartDatumPosition(datum: any, cellHeaderPaths: IPivotTableCellHeaderPaths): {
        x: number;
        y: number;
    };
    getCellAddressByRecord(record: any): CellAddress;
    getChartInstance(cellHeaderPaths: IPivotTableCellHeaderPaths): {
        chartInstance: any;
        bounds: import("@visactor/vutils").Bounds;
    } | {
        chartInstance?: undefined;
        bounds?: undefined;
    };
    activateChartInstance(cellHeaderPaths: IPivotTableCellHeaderPaths): any;
    replaceChartCacheImage(cellHeaderPaths: IPivotTableCellHeaderPaths, chartInstance: any): void;
    _getDimensionSortArray(): string[] | undefined;
    setRecords(records: Array<any>): void;
    _hasCustomRenderOrLayout(): boolean;
    changeRecordOrder(source: number, target: number): void;
    getLayoutColumnTree(): LayouTreeNode[];
    getLayoutColumnTreeCount(): number;
    getLayoutRowTree(): LayouTreeNode[];
    getLayoutRowTreeCount(): number;
    getCellHeaderTreeNodes(col: number, row: number): ICellHeaderPaths;
}
