import { GridColumnFixedWidthType } from '../../../model/enums'; export interface IColumnOptions { widthType: GridColumnFixedWidthType; weight: number; actualIndex: number; fixedWidth?: number; } export interface IWidthOptions { mode: ColumnWidthMode; columnsOptions: Array; } export interface IWidthInfo { mode: string; columnsOptions: Array; } export interface IColumnWidthInfo { widthType: string; initialWidth: number; actualWidth: number; } export interface IBestFitProvider { getBestFit: (index: number) => number; } export interface IColumnWidthsStorage { columnsResized: boolean; mode: ColumnWidthMode; columnsOptions: Array; } export type ColumnWidthMode = 'Manual' | 'AutoFitToContents' | 'AutoFitToGrid'; export declare class ColumnWidthCalculator { widthOptions: IWidthOptions; _columnWidths: Array; _columnWidthsStorage: IColumnWidthsStorage; get columnsResized(): boolean; reset(viewModel: any, columnWidthMode: ColumnWidthMode): void; getLeftPrintingColumnIndex(hScrollPosition: any): number; getClientWidthOptions(): any; onDataLoaded(viewModel: any, columnWidthMode: ColumnWidthMode): void; calcColumnsWidth(bestFitProvider: IBestFitProvider, maxVisibleWidth: number, charWidth: number): Array; onColumnResized(leftColumnIndex: number, leftColumnWidth: number, rightColumnWidth: number): Array; _unfixColumnWidth(leftColumnIndex: any): void; _calcWidth(optionsInfo: any, maxVisibleWidth: any): void; _scaleColumns(optionsInfo: any, isFixed: any, maxVisibleWidth: any, actualWidthSum: any): any; _spreadRemainder(optionsInfo: any, isFixed: any, maxVisibleWidth: any, actualWidthSum: any): any; _isScaledColumns(widthMode: any, widthType: any, isFixed: any): boolean; _resetWidthOptions(viewModel: any, columnWidthMode: ColumnWidthMode): void; _createWidthInfo(bestFitProvider: IBestFitProvider, charWidth: number): IWidthInfo; _updateColumnWidthsStorage(): void; _isAllColumnsFixed(): boolean; _updateWeight(columnsWidthInfo: any, columnWidths: any): void; }