import { Node, PivotFacet, type LayoutResult, type S2CellType, type SelectedIds, type ViewMeta } from '@antv/s2';
import { AxisColHeader } from '../header/axis-col';
import { AxisCornerHeader } from '../header/axis-corner';
import { AxisRowHeader } from '../header/axis-row';
import { CornerHeader } from '../header/corner';
import { AxisColCell } from '../cell/axis-col-cell';
import { AxisCornerCell } from '../cell/axis-corner-cell';
import { AxisRowCell } from '../cell/axis-row-cell';
import type { PivotChartSheet } from '../pivot-chart-sheet';
export declare class PivotChartFacet extends PivotFacet {
    spreadsheet: PivotChartSheet;
    axisRowHeader: AxisRowHeader | null;
    axisColumnHeader: AxisColHeader | null;
    axisCornerHeader: AxisCornerHeader | null;
    protected doLayout(): LayoutResult;
    protected getColLeafNodeRelatedCount(colNode: Node): number;
    protected getRowLeafNodeRelatedCount(rowNode: Node): number;
    protected getRowAxisWidth(): number;
    protected getColAxisHeight(): number;
    protected getCompactGridColNodeWidth(colNode: Node): number;
    protected getAdaptGridColWidth(colLeafNodes: Node[], colNode?: Node, rowHeaderWidth?: number): number;
    protected getRowLeafNodeHeight(rowLeafNode: Node): number;
    protected calculateAxisHierarchyCoordinate(layoutResult: LayoutResult): void;
    protected adjustTotalNodesCoordinateAfterSeparateAxisHierarchy(layoutResult: LayoutResult): void;
    protected calculateAxisRowsHierarchyCoordinate(layoutResult: LayoutResult): void;
    protected calculateAxisColsHierarchyCoordinate(layoutResult: LayoutResult): void;
    protected calculateCornerBBox(): void;
    protected calculatePanelBBox(): void;
    protected getCenterFrame(): import("@antv/s2").Frame;
    protected renderHeaders(): void;
    protected getCornerHeader(): CornerHeader;
    protected getAxisRowHeader(): AxisRowHeader | null;
    protected getAxisColHeader(): AxisColHeader | null;
    protected getAxisCornerHeader(): AxisCornerHeader | null;
    protected translateRelatedGroups(scrollX: number, scrollY: number, hRowScroll: number): void;
    protected renderRowScrollBar(rowHeaderScrollX: number): void;
    /**
     * 根据行列索引获取单元格元数据
     */
    getCellMeta(rowIndex?: number, colIndex?: number): ViewMeta | null;
    protected getFrozenColSplitLineSize(): {
        y: number;
        height: number;
    };
    getAxisCornerCells(): AxisCornerCell[];
    getAxisRowCells(): AxisRowCell[];
    getAxisColCells(): AxisColCell[];
    /**
     * 获取表头单元格 (序号,角头,行头,列头) (不含可视区域)
     * @example 获取全部: facet.getHeaderCells()
     * @example 获取一组 facet.getHeaderCells(['root[&]浙江省[&]宁波市', 'root[&]浙江省[&]杭州市'])
     */
    getHeaderCells(cellIds?: string[] | SelectedIds): S2CellType<ViewMeta>[];
    getAxisCornerNodes(): Node[];
    getAxisRowNodes(): Node[];
    getAxisColNodes(): Node[];
    /**
     * 获取表头节点 (角头,序号,行头,列头) (含可视区域)
     * @example 获取全部: facet.getHeaderNodes()
     * @example 获取一组 facet.getHeaderNodes(['root[&]浙江省[&]宁波市', 'root[&]浙江省[&]杭州市'])
     */
    getHeaderNodes(nodeIds?: string[]): Node[];
    /**
     * 获取单元格的所有子节点 (含非可视区域)
     * @example
     * const rowCell = facet.getRowCells()[0]
     * facet.getCellChildrenNodes(rowCell)
     */
    getCellChildrenNodes: (cell: S2CellType) => Node[];
}
