import type { BaseTableAPI } from '../../../ts-types/base-table';
import { Group } from '../../graphic/group';
import type { ColumnInfo, RowInfo } from '../../../ts-types';
export declare class SceneProxy {
    table: BaseTableAPI;
    isRelease: boolean;
    mode: 'column' | 'row' | 'pivot';
    isProgressing: boolean;
    rowLimit: number;
    currentRow: number;
    totalRow: number;
    yLimitTop: number;
    yLimitBottom: number;
    rowStart: number;
    rowEnd: number;
    referenceRow: number;
    bodyBottomRow: number;
    screenRowCount: number;
    firstScreenRowLimit: number;
    taskRowCount: number;
    rowUpdatePos: number;
    rowUpdateDirection: 'up' | 'down';
    screenTopRow: number;
    totalActualBodyRowCount: number;
    deltaY: number;
    deltaHeight: number;
    colLimit: number;
    bodyRightCol: number;
    totalCol: number;
    colStart: number;
    colEnd: number;
    taskColCount: number;
    xLimitLeft: number;
    xLimitRight: number;
    screenColCount: number;
    firstScreenColLimit: number;
    colUpdatePos: number;
    currentCol: number;
    referenceCol: number;
    screenLeftCol: number;
    colUpdateDirection: 'left' | 'right';
    totalActualBodyColCount: number;
    deltaX: number;
    deltaWidth: number;
    cellCache: Map<number, Group>;
    constructor(table: BaseTableAPI);
    get bodyLeftCol(): number;
    get bodyTopRow(): number;
    setParamsForColumn(): void;
    setParamsForRow(): void;
    refreshRowCount(): void;
    refreshColCount(): void;
    resize(): void;
    createGroupForFirstScreen(cornerHeaderGroup: Group, colHeaderGroup: Group, rowHeaderGroup: Group, rightFrozenGroup: Group, bottomFrozenGroup: Group, bodyGroup: Group, xOrigin: number, yOrigin: number): void;
    progress(): Promise<void>;
    createRow(): Promise<void>;
    createCol(): Promise<void>;
    createRowCellGroup(onceCount: number): void;
    createColGroup(onceCount: number): void;
    setY(y: number, isEnd?: boolean): Promise<void>;
    setX(x: number, isEnd?: boolean): Promise<void>;
    dynamicSetY(y: number, screenTop: RowInfo | null, isEnd?: boolean): Promise<void>;
    dynamicSetX(x: number, screenLeft: ColumnInfo | null, isEnd?: boolean): Promise<void>;
    private resolveTargetColInfo;
    private resolveTargetRowInfo;
    updateBody(y: number): void;
    updateRowCellGroupsAsync(): Promise<void>;
    updateCellGroups(count: number): void;
    updateBottomFrozenCellGroups(): void;
    updateRightFrozenCellGroups(): void;
    updateColCellGroupsAsync(): Promise<void>;
    updateColGroups(count: number): void;
    updateCellGroupPosition(cellGroup: Group, newRow: number, y: number): void;
    updateCellGroupContent(cellGroup: Group): Group;
    sortCellVertical(): Promise<void>;
    sortCellHorizontal(): Promise<void>;
    highPerformanceGetCell(col: number, row: number, getShadow?: boolean): Group;
    updateDeltaY(y: number, screenTopY?: number, screenTopRow?: number): void;
    updateDeltaX(x: number, screenLeftX?: number, screenLeftCol?: number): void;
    release(): void;
}
