import { EventEmitter } from '@angular/core';
import { SubmitType } from '../enums';
import { BaseComponent } from '.';
import { Subject } from 'rxjs';
import { FormBuilder, FormGroup, ValidatorFn } from '@angular/forms';
import { FormControlTemplate, FormGroupControlTemplate, InputControlCommand, ResponseModel } from '../models';
import { BaseService } from '../services';
import * as i0 from "@angular/core";
export declare class BaseFormComponent<T> extends BaseComponent {
    id: any;
    data: T | any;
    rawData: T | any;
    setFormChange: EventEmitter<any>;
    setSubmit: EventEmitter<any>;
    resp: EventEmitter<any>;
    inputCommandList: InputControlCommand[];
    triggerMethod: Subject<any>;
    formControlTemplate: FormControlTemplate[];
    formGroup: FormGroup | any;
    saveUrl?: string;
    deleteUrl?: string;
    getUrl?: string;
    formSubmited: boolean;
    get SubmitType(): typeof SubmitType;
    body: any;
    submitType?: string;
    service?: BaseService<T>;
    formBuilder: FormBuilder;
    buttonLabel?: string;
    saveHeaderLabel?: string;
    saveMessageLabel?: string;
    acceptLabel?: string;
    deleteHeaderLabel?: string;
    deleteMessageLabel?: string;
    rejectLabel?: string;
    response: any;
    constructor();
    onLanguageChange(): void;
    setValue(item: T): void;
    setControlOptions(key: string, items: any, isSetValue?: boolean): void;
    setValueControl(key: string): void;
    setForm(resp?: ResponseModel<T> | any, saveUrl?: string | any): void;
    setFormGroup(): void;
    setRefList(item: FormControlTemplate): void;
    setRef(refName: string, key: string | string[], fkId?: number | undefined, fk2Id?: string | undefined, fk3Id?: number | undefined, fk4Id?: string | undefined): void;
    setRefUrl(url: string, refName: string, key: string | string[], fkId?: number | undefined, fk2Id?: string | undefined, fk3Id?: number | undefined, fk4Id?: string | undefined): void;
    setRefUrlMultiKeys(url: string, refName: string, key: string[], fkId?: number | undefined, fk2Id?: string | undefined, fk3Id?: number | undefined, fk4Id?: string | undefined): void;
    private setPickList;
    setPickListItem(key: string): void;
    getControl(key: string): FormControlTemplate | undefined;
    getFormGroupControl(key: string): FormGroupControlTemplate;
    setStatue(controls: any[]): void;
    getFormValidators(control: any): ValidatorFn[];
    valid(): void;
    getErrors(): string;
    onDelete(): void;
    delete(): void;
    onSave(callback?: {
        comp: any;
        methodName: string;
    }): void;
    creteOrUpdate(callback?: {
        comp: any;
        methodName: string;
    }): void;
    saveControl(): void;
    submit(submitType: string, callback?: {
        comp: any;
    }): void;
    onChangeInput(item: FormControlTemplate): void;
    showMessage(status: any, message: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseFormComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BaseFormComponent<any>, "ng-component", never, { "id": { "alias": "id"; "required": false; }; }, { "setFormChange": "setFormChange"; "setSubmit": "setSubmit"; "resp": "resp"; }, never, never, true, never>;
}
