import type { CellAddress, CellRange, IPivotTableCellHeaderPaths, LayoutObjectId, CellLocation, IHeaderTreeDefine, IDimension, IIndicator, ITitleDefine, ICornerDefine, IDimensionInfo, IExtensionRowDefine, IPagination, IColumnDimension, IRowDimension, IChartIndicator, IRowSeriesNumber } from '../ts-types';
import type { HeaderData, IndicatorData, LayoutMapAPI, SeriesNumberColumnData, WidthData } from '../ts-types/list-table/layout-map/api';
import type { PivotTable } from '../PivotTable';
import type { PivotChart } from '../PivotChart';
import type { ITreeLayoutHeadNode, LayouTreeNode } from './tree-helper';
import { DimensionTree } from './tree-helper';
import type { Dataset } from '../dataset/dataset';
export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
    sharedVar: {
        seqId: number;
    };
    colIndex: number;
    _showHeader: boolean;
    rowDimensionTree: DimensionTree;
    columnDimensionTree: DimensionTree;
    rowTree: IHeaderTreeDefine[];
    columnTree: IHeaderTreeDefine[];
    cornerHeaderObjs: HeaderData[];
    columnHeaderObjs: HeaderData[];
    rowHeaderObjs: HeaderData[];
    private _cornerHeaderCellFullPathIds;
    private _columnHeaderCellFullPathIds;
    private _rowHeaderCellFullPathIds;
    private _rowHeaderCellFullPathIds_FULL;
    _cornerHeaderCellIds: number[][];
    private _columnHeaderCellIds;
    private _rowHeaderCellIds;
    private _rowHeaderCellIds_FULL;
    private _columnWidths;
    private _columnHeaderLevelCount;
    private _rowHeaderLevelCount;
    rowsDefine: (IRowDimension | string)[];
    columnsDefine: (IColumnDimension | string)[];
    indicatorsDefine: (IIndicator | IChartIndicator | string)[];
    columnPaths: number[][];
    _headerObjects: HeaderData[];
    private _headerObjectMap;
    _indicators: IndicatorData[];
    indicatorTitle: string;
    indicatorsAsCol: boolean;
    hideIndicatorName: boolean;
    _showRowHeader: boolean;
    _showColumnHeader: boolean;
    _rowHeaderTitle: ITitleDefine;
    _columnHeaderTitle: ITitleDefine;
    cornerSetting: ICornerDefine;
    private _indicatorShowType;
    rowHierarchyType?: 'grid' | 'tree' | 'grid-tree';
    columnHierarchyType?: 'grid' | 'grid-tree';
    rowExpandLevel?: number;
    columnExpandLevel?: number;
    rowHierarchyIndent?: number;
    rowHierarchyTextStartAlignment?: boolean;
    rowDimensionKeys: string[];
    colDimensionKeys: string[];
    indicatorKeys: string[];
    indicatorDimensionKey: string;
    private _largeCellRangeCache;
    private _CellHeaderPathMap;
    _table: PivotTable | PivotChart;
    extensionRows: IExtensionRowDefine[];
    _rowHeaderExtensionTree: any;
    _extensionRowDimensionKeys: string[][];
    fullRowDimensionKeys: string[];
    dataset: Dataset;
    pagination: IPagination;
    currentPageStartIndex: number;
    currentPageEndIndex: number;
    hasTwoIndicatorAxes: boolean;
    _chartItemSpanSize: number;
    _chartPaddingInner: number;
    _chartPaddingOuter: number;
    _chartItemBandSize: number;
    _chartPadding?: number | number[];
    rowSeriesNumberColumn: SeriesNumberColumnData[];
    leftRowSeriesNumberColumn: SeriesNumberColumnData[];
    leftRowSeriesNumberColumnCount: number;
    rightRowSeriesNumberColumn: SeriesNumberColumnData[];
    rightRowSeriesNumberColumnCount: number;
    _useGetBodyCache: boolean;
    _getBodyCache: Map<number, IndicatorData | SeriesNumberColumnData>;
    _useHeaderPathCache: boolean;
    _colHeaderPathCache: Map<number, ITreeLayoutHeadNode[]>;
    _rowHeaderPathCache: Map<number, ITreeLayoutHeadNode[]>;
    constructor(table: PivotTable | PivotChart, dataset: Dataset, columnDimensionTree: DimensionTree, rowDimensionTree: DimensionTree);
    handleRowSeriesNumber(rowSeriesNumber: IRowSeriesNumber): void;
    _generateColHeaderIds(): void;
    _generateRowHeaderIds(): void;
    _getRowHeaderTreeExpandedMaxLevelCount(): number;
    _getColumnHeaderTreeExpandedMaxLevelCount(): number;
    _addHeaders(_headerCellIds: number[][], row: number, header: ITreeLayoutHeadNode[], roots: number[], results: HeaderData[]): void;
    _addHeadersForTreeMode(_headerCellIds: number[][], row: number, header: ITreeLayoutHeadNode[], roots: number[], totalLevel: number, show: boolean, dimensions: (IDimension | string)[], results: HeaderData[]): void;
    _addHeadersForGridTreeMode(_headerCellIds: number[][], row: number, header: ITreeLayoutHeadNode[], roots: number[], totalLevel: number, expandedMaxLevel: number, show: boolean, dimensions: (IDimension | string)[], results: HeaderData[], isRowTree: boolean): void;
    private _addCornerHeaders;
    private generateExtensionRowTree;
    private setColumnWidths;
    get columnWidths(): WidthData[];
    getColumnWidthDefined(col: number): WidthData;
    get showHeader(): boolean;
    set showHeader(_showHeader: boolean);
    get showColumnHeader(): boolean;
    set showColumnHeader(_showColumnHeader: boolean);
    get showRowHeader(): boolean;
    set showRowHeader(_showRowHeader: boolean);
    get columnHeaderTitle(): ITitleDefine;
    set columnHeaderTitle(_columnHeaderTitle: ITitleDefine);
    get rowHeaderTitle(): ITitleDefine;
    set rowHeaderTitle(_rowHeaderTitle: ITitleDefine);
    getHeaderFieldKey(col: number, row: number): undefined;
    getCellLocation(col: number, row: number): CellLocation;
    isHeader(col: number, row: number): boolean;
    isCornerHeader(col: number, row: number): boolean;
    isColumnHeader(col: number, row: number): boolean;
    isRowHeader(col: number, row: number): boolean;
    isFrozen(col: number, row: number): boolean;
    isFrozenColumn(col: number, row?: number): boolean;
    isRightFrozenColumn(col: number, row?: number): boolean;
    isFrozenRow(col: number, row?: number): boolean;
    isBottomFrozenRow(col: number, row?: number): boolean;
    isLeftTopCorner(col: number, row: number): boolean;
    isLeftBottomCorner(col: number, row: number): boolean;
    isRightTopCorner(col: number, row: number): boolean;
    isRightBottomCorner(col: number, row: number): boolean;
    getColumnHeaderRange(): CellRange;
    getRowHeaderRange(): CellRange;
    getCornerHeaderRange(): CellRange;
    getBodyRange(): CellRange;
    resetCellIds(): void;
    get frozenColCount(): number;
    get frozenRowCount(): number;
    get headerLevelCount(): number;
    resetColumnHeaderLevelCount(): void;
    resetRowHeaderLevelCount(): void;
    get columnHeaderLevelCount(): number;
    set columnHeaderLevelCount(count: number);
    get rowHeaderLevelCount(): number;
    set rowHeaderLevelCount(count: number);
    get colCount(): number;
    get rowCount(): number;
    get bodyRowSpanCount(): number;
    get bottomFrozenRowCount(): number;
    get rightFrozenColCount(): number;
    get bodyRowCount(): number | undefined;
    get bodyColCount(): number | undefined;
    get headerObjects(): HeaderData[];
    get columnObjects(): IndicatorData[];
    getCellId(col: number, row: number): LayoutObjectId;
    getHeader(col: number, row: number): HeaderData | SeriesNumberColumnData;
    getHeaderField(col: number, row: number): import("../ts-types").FieldDef;
    getHeaderCellAdressById(id: number): CellAddress | undefined;
    getHeaderCellAddressByField(field: string): CellAddress;
    getBody(_col: number, _row: number): IndicatorData | SeriesNumberColumnData;
    getCellRange(col: number, row: number): CellRange;
    isCellRangeEqual(col: number, row: number, targetCol: number, targetRow: number): boolean;
    getBodyIndexByRow(row: number): number;
    get bottomHeaderRowCount(): number;
    get rightHeaderColCount(): number;
    getBodyIndexByCol(col: number): number;
    getRecordStartRowByRecordIndex(index: number): number;
    getRecordShowIndexByCell(col: number, row: number): number;
    getCellHeaderPathsWithTreeNode(col: number, row: number): IPivotTableCellHeaderPaths;
    getTreePathByCellIds(row_pathIds: LayoutObjectId[]): ITreeLayoutHeadNode[];
    getCellHeaderPaths(col: number, row: number): IPivotTableCellHeaderPaths;
    private getIndicatorInfoByIndicatorKey;
    private findFullCellIds;
    getHeaderDimension(col: number, row: number): IDimension | undefined;
    isColumnIndicatorHeader(col: number, row: number): boolean;
    isRowIndicatorHeader(col: number, row: number): boolean;
    isIndicatorHeader(col: number, row: number): boolean;
    toggleHierarchyState(col: number, row: number): {
        addCellPositionsRowDirection?: CellAddress[];
        removeCellPositionsRowDirection?: CellAddress[];
        updateCellPositionsRowDirection?: CellAddress[];
        addCellPositionsColumnDirection?: CellAddress[];
        removeCellPositionsColumnDirection?: CellAddress[];
        updateCellPositionsColumnDirection?: CellAddress[];
    };
    toggleHierarchyStateForColumnTree(col: number, row: number): {
        addCellPositionsColumnDirection: {
            col: number;
            row: number;
        }[];
        removeCellPositionsColumnDirection: CellAddress[];
        updateCellPositionsColumnDirection: {
            col: never;
            row: number;
        }[];
        addCellPositionsRowDirection: {
            col: number;
            row: number;
        }[];
        removeCellPositionsRowDirection: {
            col: number;
            row: number;
        }[];
    };
    isHeaderForColWidth(col: number, row: number): boolean;
    getHeaderForColWidth(col: number, row: number): HeaderData | SeriesNumberColumnData;
    getPivotCellAdress(dimensions: IDimensionInfo[]): CellAddress | undefined;
    getPivotDimensionInfo(col: number, row: number): IDimensionInfo[];
    getIndicatorKey(col: number, row: number): string;
    getParentCellId(col: number, row: number): LayoutObjectId;
    getRowHeaderCellAddressByCellId(cellId: LayoutObjectId): {
        col: never;
        row: number;
    };
    canMoveHeaderPosition(source: CellAddress, target: CellAddress): boolean;
    moveHeaderPosition(source: CellAddress, target: CellAddress): {
        sourceIndex: number;
        targetIndex: any;
        sourceSize: any;
        targetSize: any;
        moveType: 'column' | 'row';
    };
    getCellAdressByHeaderPath(dimensionPaths: IPivotTableCellHeaderPaths | IDimensionInfo[]): CellAddress | undefined;
    setChartInstance(_col: number, _row: number, chartInstance: any): void;
    getChartInstance(_col: number, _row: number): any;
    checkHasChart(): boolean;
    getDimension(dimensionKey: string, type: 'column' | 'row'): any;
    getAxisConfigInPivotChart(col: number, row: number): any;
    isEmpty(col: number, row: number): boolean;
    isAxisCell(col: number, row: number): boolean;
    getChartAxes(col: number, row: number): any[];
    getRawChartSpec(col: number, row: number): any;
    getChartSpec(col: number, row: number): any;
    isShareChartSpec(col: number, row: number): any;
    getChartDataId(col: number, row: number): any;
    isNoChartDataRenderNothing(col: number, row: number): boolean;
    setPagination(pagination: IPagination): void;
    release(): void;
    getHeadNode(col: number, row: number): IHeaderTreeDefine;
    getHeadNodeByRowOrColDimensions(dimensions: IDimensionInfo[], col?: number, row?: number): IHeaderTreeDefine;
    clearCellRangeMap(): void;
    getDimensionKeyInChartSpec(_col: number, _row: number): string;
    _generateChartState(): {
        vtable_selected: {
            filter: (datum: any) => boolean;
        };
        vtable_selected_reverse: {
            filter: (datum: any) => boolean;
        };
    };
    updateDataStateToChartInstance(activeChartInstance?: any): void;
    updateDataStateToActiveChartInstance(activeChartInstance?: any): void;
    getIndicatorKeyInChartSpec(_col: number, _row: number): string[];
    getOptimunHeightForChart(row: number): number;
    getOptimunWidthForChart(col: number): number;
    get leftAxesCount(): number;
    get topAxesCount(): number;
    get rightAxesCount(): number;
    get bottomAxesCount(): number;
    getColKeysPath(col: number, row: number): string;
    getRowKeysPath(col: number, row: number): string;
    getIndicatorInfo(indicatorKey: string, indicatorValue?: string): IIndicator;
    getLayoutColumnTree(): LayouTreeNode[];
    getLayoutRowTree(): LayouTreeNode[];
    getLayoutColumnTreeCount(): number;
    getLayoutRowTreeCount(): number;
    resetHeaderTree(): void;
    isSeriesNumberInHeader(col: number, row: number): boolean;
    isSeriesNumberInBody(col: number, row: number): boolean;
    isSeriesNumber(col: number, row: number): boolean;
    getSeriesNumberHeader(col: number, row: number): SeriesNumberColumnData;
    getSeriesNumberBody(col: number, row: number): SeriesNumberColumnData;
    changeTreeNodeTitle(col: number, row: number, value: string): void;
    changeCornerTitle(col: number, row: number, value: string): void;
    generateCellIdsConsiderHideHeader(): void;
    enableUseGetBodyCache(): void;
    disableUseGetBodyCache(): void;
    enableUseHeaderPathCache(): void;
    disableUseHeaderPathCache(): void;
    getBodyWidthCache(col: number, row: number): IndicatorData | SeriesNumberColumnData;
    setBodyWidthCache(col: number, row: number, cache: IndicatorData | SeriesNumberColumnData): void;
    getColHeaderPathCache(col: number, row: number): ITreeLayoutHeadNode[];
    setColHeaderPathCache(col: number, row: number, cache: ITreeLayoutHeadNode[]): void;
    getRowHeaderPathCache(col: number, row: number): ITreeLayoutHeadNode[];
    setRowHeaderPathCache(col: number, row: number, cache: ITreeLayoutHeadNode[]): void;
    clearHeaderPathCache(): void;
}
