import { ChangeDetectorRef } from '@angular/core';
import { ControlValueAccessor, FormControl } from '@angular/forms';
import { AbstractControlValueAccessor } from '../abstract-control-value-accesor';
import { TranslateService } from '@ngx-translate/core';
import { MatDialog } from '@angular/material';
import { CdkDragDrop } from '@angular/cdk/drag-drop';
export declare const INPUT_INPUT_CONTROL_VALUE_ACCESSOR: any;
export declare class EditableTableComponent extends AbstractControlValueAccessor implements ControlValueAccessor {
    private translator;
    dialog: MatDialog;
    private changeDetector;
    control: FormControl;
    /** Component Attributes */
    label: string;
    outputItems: number[];
    schema: any;
    draggable: boolean;
    newElement: any;
    extras: {
        rowValidator?: (any) => any;
        showDelete?: boolean;
        deleteAction?: (any) => Promise<any>;
        infoDetail?: string;
        addTitle?: string;
    };
    showDelete: boolean;
    addTitle: string;
    constructor(translator: TranslateService, dialog: MatDialog, changeDetector: ChangeDetectorRef);
    ngOnInit(): void;
    addItem(): void;
    removeItem(index: any): void;
    cloneObject(obj: any): any;
    changesOut($event: any): void;
    drop(event: CdkDragDrop<string[]>): void;
    checkRequired(): void;
    private getFieldSchema(name);
    checkValidators(): void;
    isValid(item: any, field: any): boolean;
    fieldErrorMessage(item: any, field: any): string;
    openDialog(title: string, message: string): void;
    openConfirm(): Promise<any>;
}
