import type { ILine, IRect, IGroup } from './../../vrender';
import { ScrollBar } from './../../vrender';
import type { Group } from '../graphic/group';
import { MenuHandler } from './menu';
import { DrillIcon } from './drill-icon';
import { CellMover } from './cell-mover';
import type { BaseTableAPI } from '../../ts-types/base-table';
export declare class TableComponent {
    table: BaseTableAPI;
    _horizontalScrollBarTarget?: 'body' | 'frozen' | 'rightFrozen' | 'all';
    border: IRect;
    columnResizeLine: ILine;
    columnResizeBgLine: ILine;
    columnResizeLabel: IGroup;
    rowResizeLine: ILine;
    rowResizeBgLine: ILine;
    rowResizeLabel: IGroup;
    menu: MenuHandler;
    vScrollBar: ScrollBar;
    hScrollBar: ScrollBar;
    frozenHScrollBar: ScrollBar;
    rightFrozenHScrollBar: ScrollBar;
    frozenShadowLine: IRect;
    rightFrozenShadowLine: IRect;
    drillIcon: DrillIcon;
    cellMover: CellMover;
    labelVisible: boolean;
    constructor(table: BaseTableAPI);
    addToGroup(componentGroup: Group): void;
    createScrollBar(): void;
    updateScrollBar(): void;
    hideResizeCol(): void;
    showResizeCol(col: number, y: number, isRightFrozen?: boolean): void;
    updateResizeCol(col: number, y: number, isRightFrozen?: boolean): void;
    hideResizeRow(): void;
    showResizeRow(row: number, x: number, isRightFrozen?: boolean): void;
    updateResizeRow(row: number, x: number, isBottomFrozen?: boolean): void;
    hideMoveCol(): void;
    showMoveCol(col: number, row: number, delta: number): {
        backX: number;
        lineX: number;
        backY: number;
        lineY: number;
    };
    updateMoveCol(backX: number, lineX: number, backY: number, lineY: number): void;
    setFrozenColumnShadow(col: number, isRightFrozen?: boolean): void;
    setRightFrozenColumnShadow(col: number): void;
    hideFrozenColumnShadow(): void;
    showFrozenColumnShadow(): void;
    hideVerticalScrollBar(): void;
    showVerticalScrollBar(): void;
    hideHorizontalScrollBar(): void;
    showHorizontalScrollBar(target?: 'body' | 'frozen' | 'rightFrozen' | 'all'): void;
    updateVerticalScrollBarPos(topRatio: number): void;
    updateHorizontalScrollBarPos(leftRatio: number): void;
    updateFrozenHorizontalScrollBarPos(leftRatio: number): void;
    updateRightFrozenHorizontalScrollBarPos(leftRatio: number): void;
    updateStyle(): void;
}
