import type { IColor, IGroupGraphicAttribute, ILineGraphicAttribute, ITextGraphicAttribute } from '@visactor/vrender-core';
export declare enum SeriesNumberCellStateValue {
    hover = "hover",
    select = "select"
}
export declare enum SeriesNumberEvent {
    seriesNumberCellHover = "seriesNumberCellHover",
    seriesNumberCellUnHover = "seriesNumberCellUnHover",
    seriesNumberCellClick = "seriesNumberCellClick",
    seriesNumberCellClickUp = "seriesNumberCellClickUp",
    seriesNumberCellCancelClick = "seriesNumberCellCancelClick",
    rowSeriesNumberWidthChange = "rowSeriesNumberWidthChange",
    resizeRowHeightStart = "resizeRowHeightStart",
    resizeColWidthStart = "resizeColWidthStart",
    seriesNumberCellRightClick = "seriesNumberCellRightClick",
    dragColumnOrderStart = "dragColumnOrderStart",
    dragRowOrderStart = "dragRowOrderStart"
}
export type TableSeriesNumberAttributes = IGroupGraphicAttribute & {
    frozenRowCount?: number;
    frozenColCount?: number;
    rightFrozenColCount?: number;
    bottomFrozenRowCount?: number;
    rowSeriesNumberGenerate?: (index: number) => string;
    rowSeriesNumberWidth?: number | 'auto';
    rowHeight?: number | 'auto';
    rowCount?: number;
    rowSeriesNumberCellStyle?: {
        text?: ITextGraphicAttribute & {
            padding?: number | number[];
        };
        borderLine?: ILineGraphicAttribute;
        bgColor?: IColor;
        states?: {
            hover: {
                fill: IColor;
                opacity: number;
            };
            select?: {
                fill: IColor;
                opacity: number;
            };
        };
    };
    colSeriesNumberGenerate?: (index: number) => string;
    colSeriesNumberHeight?: number | 'auto';
    colWidth?: number | 'auto';
    colSeriesNumberCellStyle?: {
        text?: ITextGraphicAttribute & {
            padding?: number | number[];
        };
        borderLine?: ILineGraphicAttribute;
        bgColor?: IColor;
        states?: {
            hover: {
                fill: IColor;
                opacity: number;
            };
            select?: {
                fill: IColor;
                opacity: number;
            };
        };
    };
    colCount?: number;
    cornerCellStyle?: {
        borderLine?: ILineGraphicAttribute;
        bgColor?: IColor;
        states?: {
            hover: {
                fill: IColor;
                opacity: number;
            };
            select?: {
                fill: IColor;
                opacity: number;
            };
        };
    };
    select?: boolean;
    hover?: boolean;
    checkMoveColumnOrder?: (colIndex: number) => boolean;
    checkMoveRowOrder?: (rowIndex: number) => boolean;
};
