import { Table } from 'fittable-core/model'; import { TableChangeWritter, TableChangeWritterFactory, Args } from 'fittable-core/operations'; export type MoveLinesDto = { lineRange: unknown; move: number; }; export type LineInsertChange = { lineRanges: unknown[]; numberOfNewLines: number; moveLines: MoveLinesDto[]; }; declare abstract class LineInsertChangeWritter implements TableChangeWritter { protected readonly table: Table; protected readonly change: LineInsertChange; protected numberOfSelectedLines: number; constructor(table: Table, change: LineInsertChange); protected abstract updateNumberOfLines(): void; protected abstract moveLine(lineIndex: number, move: number): void; run(): void; private countSelectedLines; private moveLines; } export type RowInsertChange = Args<'row-insert'> & LineInsertChange; export declare class RowInsertChangeWritter extends LineInsertChangeWritter { protected readonly table: Table; protected readonly change: RowInsertChange; constructor(table: Table, change: RowInsertChange); protected updateNumberOfLines(): void; protected moveLine(rowId: number, move: number): void; } export declare class RowInsertChangeWritterFactory implements TableChangeWritterFactory { createTableChangeWritter(table: Table, change: RowInsertChange): TableChangeWritter; } export type ColInsertChange = Args<'column-insert'> & LineInsertChange; export declare class ColInsertChangeWritter extends LineInsertChangeWritter { protected readonly table: Table; protected readonly change: ColInsertChange; constructor(table: Table, change: ColInsertChange); protected updateNumberOfLines(): void; protected moveLine(colId: number, move: number): void; } export declare class ColInsertChangeWritterFactory implements TableChangeWritterFactory { createTableChangeWritter(table: Table, change: ColInsertChange): TableChangeWritter; } export {};