import { SubDocument } from '../../model/sub-document';
import { Table } from '../../model/tables/main-structures/table';
import { TableRow } from '../../model/tables/main-structures/table-row';
import { SelectedTableInfo } from '../../selection/selected-cells-engine';
import { ICommandOptions } from '../command-base';
import { SimpleCommandState } from '../command-states';
import { RowCommandBase } from './row-command-base';
export declare abstract class InsertTableRowCommandBase extends RowCommandBase<SimpleCommandState> {
    getState(): SimpleCommandState;
    isEnabled(): boolean;
    executeCore(_state: SimpleCommandState, options: ICommandOptions): boolean;
    protected abstract insertTableRowCore(subDocument: SubDocument, table: Table, patternRowIndex: number): TableRow;
    protected abstract getPatternRowIndex(tableInfo: SelectedTableInfo): number;
}
export declare class InsertTableRowAboveCommand extends InsertTableRowCommandBase {
    protected insertTableRowCore(subDocument: SubDocument, table: Table, patternRowIndex: number): TableRow;
    protected getPatternRowIndex(tableInfo: SelectedTableInfo): number;
}
export declare class InsertTableRowBelowCommand extends InsertTableRowCommandBase {
    protected insertTableRowCore(subDocument: SubDocument, table: Table, patternRowIndex: number): TableRow;
    protected getPatternRowIndex(tableInfo: SelectedTableInfo): number;
}
