///
import { DefaultRecordType, FixedType } from './interface';
import { ColumnType, ShowRowNumType, ColumnsType } from './iTable';
export default class ColumnManager {
columns: ColumnsType;
originWidth: number;
_cached: {};
static DefaultColumnWidth: number;
locale: any;
constructor(columns: ColumnType[], elements: JSX.Element[], originWidth: number, rowDraggAble: boolean, showRowNum: boolean | ShowRowNumType, locale: any);
addDragHandleColumn: (columns: ColumnType[], rowDraggAble: boolean) => ColumnType[];
deleteColumnNotShow: (columns: ColumnType[]) => ColumnType[];
addOrderColumn: (columns: ColumnType[], showRowNum: boolean | ShowRowNumType, locale: any) => ColumnType[];
isAnyColumnsFixed(): any;
isAnyColumnsLeftFixed(): any;
isAnyColumnsRightFixed(): any;
leftColumns(): any;
rightColumns(): any;
centerColumns(): any;
leafColumns(): any;
leftLeafColumns(): any;
rightLeafColumns(): any;
centerLeafColumns(): any;
showLeafColumns(fixed?: FixedType, isAll?: boolean): any;
groupedColumns(type?: string): any;
normalize(elements: JSX.Element[]): ColumnType[];
isColumnElement(element: JSX.Element): boolean;
reset(columns: ColumnType[], elements: JSX.Element[] | null | undefined, showRowNum: boolean | ShowRowNumType, rowDraggAble: boolean, locale: any): void;
clearCache(): void;
getColumnWidth(contentWidth: number): {
computeWidth: number;
lastShowIndex: number;
};
getLeftColumnsWidth(contentWidth?: number): any;
getRightColumnsWidth(contentWidth?: number): any;
getLeftColumnKeys(): any;
getRightColumnKeys(): any;
findColumn(columnKey: string | number): any;
_findColumn(columnKey: string | number, columns: ColumnType[]): any;
_cache(name: string, fn: any): any;
_leafColumns(columns: ColumnType[]): ColumnType[];
}