import React from 'react';
import { ArtColumn } from '../../interfaces';
import { TablePipeline } from '../pipeline';
interface ColumnSize {
    [key: string]: number;
}
interface ChangedColumnSize {
    code: string;
    width: number;
}
export interface ColumnResizeOptions {
    columnSize?: ColumnSize;
    /** 列的最小宽度，默认为 60 */
    minSize?: number;
    /** 如果列宽数组中没有提供有效的宽度，fallbackSize 将作为该列的宽度，默认为 150 */
    fallbackSize?: number;
    /** 列的最大宽度，默认为 1000 */
    maxSize?: number;
    doubleClickCallback?(e: React.MouseEvent<HTMLSpanElement>, col: ArtColumn): void;
    onChangeSize?(nextSize: ColumnSize): void;
    afterChangeSize?(nextSize: ColumnSize, changedColumnSize: ChangedColumnSize[]): void;
}
export declare const COLUMN_SIZE_KEY = "columnResize";
export declare const RESIZED_COLUMN_KEY = "resizedColumn";
export declare const LAST_RESIZED_COLUMN_KEY = "lastResizedColumn";
export declare function columnResize(opts?: ColumnResizeOptions): (pipeline: TablePipeline) => TablePipeline;
export {};
