import type { ListTable, pluginsDefinition } from '@visactor/vtable';
import { TableSeriesNumber as VRenderTableSeriesNumber } from '@visactor/vtable/es/vrender';
import type { ILayer, TableSeriesNumberAttributes } from '@visactor/vtable/es/vrender';
export type TableSeriesNumberOptions = {
    rowCount: number;
    colCount: number;
    dragOrder?: {
        enableDragColumnOrder?: boolean;
        enableDragRowOrder?: boolean;
    };
} & Partial<Pick<TableSeriesNumberAttributes, 'rowSeriesNumberGenerate' | 'colSeriesNumberGenerate' | 'rowSeriesNumberCellStyle' | 'colSeriesNumberCellStyle' | 'cornerCellStyle' | 'colSeriesNumberHeight' | 'rowSeriesNumberWidth'>>;
export declare class TableSeriesNumber implements pluginsDefinition.IVTablePlugin {
    id: string;
    name: string;
    runTime: ("before_init" | "before_update_option" | "initialized" | "updated")[];
    pluginOptions: TableSeriesNumberOptions;
    table: ListTable;
    seriesNumberComponent: VRenderTableSeriesNumber;
    componentLayoutLayer: ILayer;
    lastCurrentRow: number;
    lastCurrentCol: number;
    startRowIndex: number;
    scrollTimer: any;
    constructor(pluginOptions: TableSeriesNumberOptions);
    run(...args: any[]): void;
    private handleScroll;
    private handleAfterSort;
    private handleSelectedChanged;
    private handleResizeColumnEnd;
    private handleResizeRowEnd;
    private handleChangeHeaderPosition;
    listenTableEvents(): void;
    private handleSeriesNumberCellRightClick;
    private handleSeriesNumberCellHover;
    private handleSeriesNumberCellUnHover;
    private handleSeriesNumberCellClick;
    private handleSeriesNumberCellClickUp;
    private handleRowSeriesNumberWidthChange;
    private handleResizeColWidthStart;
    private handleResizeRowHeightStart;
    private handleDragColumOrderStart;
    private handleDragRowOrderStart;
    listenComponentEvents(): void;
    release(): void;
    syncRowHeightToComponent(): void;
    syncColWidthToComponent(): void;
    syncScrollToComponent(): void;
}
