import { Table, TableRows, LineRange, TableCols } from 'fittable-core/model'; import { TableChanges, Args, TableChangesFactory } from 'fittable-core/operations'; import { DimensionDto, RowHeighChange, ColWidthChange } from '../../table-change-writter/line/line-dimension-change-writter.js'; export type LineDimensionTableArgs = { selectedLines: LineRange[]; dimension?: number; }; declare abstract class LineDimensionChangesBuilder { protected readonly table: Table; protected readonly args: LineDimensionTableArgs; protected readonly dimensionsDto: DimensionDto[]; protected readonly undoDimensionsDto: DimensionDto[]; private readonly oldLineDimensions; private isUndoable; constructor(table: Table, args: LineDimensionTableArgs); protected abstract getLineDimension(lineId: number): number | undefined; setUndoable(isUndoable: boolean): this; build(): void; private markOldLineDimensions; private updateLineDimensions; private undoLineDimensions; } export type RowHeightTableChangesArgs = Args<'row-height'> & LineDimensionTableArgs; export declare class RowHeightTableChangesBuilder extends LineDimensionChangesBuilder { protected readonly table: Table & TableRows; protected readonly args: RowHeightTableChangesArgs; readonly rowHeightChange: RowHeighChange; readonly rowHeightUndoChange: RowHeighChange; constructor(table: Table & TableRows, args: RowHeightTableChangesArgs); protected getLineDimension(rowId: number): number | undefined; build(): TableChanges; } export declare class RowHeightChangesFactory implements TableChangesFactory { createTableChanges(table: Table & TableRows, args: RowHeightTableChangesArgs): TableChanges | Promise; } export type ColWidthTableChangesArgs = Args<'column-width'> & LineDimensionTableArgs; export declare class ColWidthTableChangesBuilder extends LineDimensionChangesBuilder { protected table: Table & TableCols; protected args: ColWidthTableChangesArgs; readonly colWidthChange: ColWidthChange; readonly colWidthUndoChange: ColWidthChange; constructor(table: Table & TableCols, args: ColWidthTableChangesArgs); protected getLineDimension(colId: number): number | undefined; build(): TableChanges; } export declare class ColWidthChangesFactory implements TableChangesFactory { createTableChanges(table: Table & TableCols, args: ColWidthTableChangesArgs): TableChanges | Promise; } export {};