import { Event, EventDelegator, FormField, InitModelOf, ObjectOrChildModel, Table, TableFieldEventMap, TableFieldModel, TableFieldValidationResultProvider, TableRow, Widget } from '../../../index';
export declare class TableField extends FormField implements TableFieldModel {
    model: TableFieldModel;
    eventMap: TableFieldEventMap;
    self: TableField;
    table: Table;
    eventDelegator: EventDelegator;
    protected _tableChangedHandler: (event: Event<Table>) => void;
    protected _deletedRows: Record<string, TableRow>;
    protected _insertedRows: Record<string, TableRow>;
    protected _updatedRows: Record<string, TableRow>;
    protected _checkedRows: Record<string, TableRow>;
    constructor();
    static TABLE_CHANGE_EVENTS: string;
    protected _init(model: InitModelOf<this>): void;
    protected _createValidationResultProvider(): TableFieldValidationResultProvider;
    protected _render(): void;
    setTable(table: ObjectOrChildModel<Table>): void;
    protected _setTable(table: Table): void;
    protected _renderTable(): void;
    protected _removeTable(): void;
    computeSaveNeeded(): boolean;
    protected _computeEmpty(): boolean;
    protected _onTableChanged(event: Event<Table>): void;
    protected _updateDeletedRows(rows: TableRow[]): void;
    protected _updateInsertedRows(rows: TableRow[]): void;
    protected _updateUpdatedRows(rows: TableRow[]): void;
    /**
     * If a row already exists in the _checkedRows array, remove it (row was checked/unchecked again, which
     * means it is no longer changed). Add it to the array otherwise.
     */
    protected _updateCheckedRows(rows: TableRow[]): void;
    protected _markAsSaved(): void;
    getDelegateScrollable(): Widget;
    get$Focusable(): JQuery;
}
//# sourceMappingURL=TableField.d.ts.map