import { EventEmitter, Injector, OnInit } from '@angular/core';
import { FormControl, ValidatorFn } from '@angular/forms';
import { SnackBarService } from '../../../../../services/snackbar.service';
import { OTranslateService } from '../../../../../services/translate/o-translate.service';
import type { OColumn } from '../../../column/o-column.class';
import { OTableComponent } from '../../../o-table.component';
import * as i0 from "@angular/core";
export declare const DEFAULT_INPUTS_O_TABLE_INSERTABLE_ROW: string[];
export declare const DEFAULT_OUTPUTS_O_TABLE_INSERTABLE_ROW: string[];
export declare class OTableInsertableRowComponent implements OnInit {
    protected injector: Injector;
    protected table: OTableComponent;
    static AVAILABLE_ROW_POSITIONS: string[];
    static DEFAULT_ROW_POSITION: string;
    protected columns: string;
    protected columnsArray: Array<string>;
    protected requiredColumns: string;
    protected requiredColumnsArray: Array<string>;
    onPostInsertRecord: EventEmitter<any>;
    columnEditors: any;
    trWrapper: EventTarget;
    protected position: string;
    showPlaceHolder: boolean;
    includeParentKeys: boolean;
    enabled: boolean;
    rowData: {};
    protected controls: any;
    translateService: OTranslateService;
    snackBarService: SnackBarService;
    constructor(injector: Injector, table: OTableComponent);
    ngOnInit(): void;
    isFirstRow(): boolean;
    isColumnInsertable(column: OColumn): boolean;
    isColumnRequired(column: OColumn): boolean;
    initializeEditors(): void;
    useCellEditor(column: OColumn): boolean;
    getControl(column: OColumn, disabled?: boolean): FormControl;
    resolveValidators(column: OColumn): ValidatorFn[];
    getPlaceholder(column: OColumn): string;
    handleKeyboardEvent(event: KeyboardEvent): void;
    insertRecord(): void;
    protected validateFields(): boolean;
    protected getAttributesValuesToInsert(): object;
    protected onInsertSuccess(res: any): void;
    protected cleanFields(): void;
    columnHasError(column: OColumn, error: string): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<OTableInsertableRowComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OTableInsertableRowComponent, "o-table-insertable-row", never, { "columns": { "alias": "columns"; "required": false; }; "requiredColumns": { "alias": "required-columns"; "required": false; }; "position": { "alias": "position"; "required": false; }; "showPlaceHolder": { "alias": "show-placeholder"; "required": false; }; "includeParentKeys": { "alias": "include-parent-keys"; "required": false; }; }, { "onPostInsertRecord": "onPostInsertRecord"; }, never, never, true, never>;
}
