import { AfterViewInit, EventEmitter, OnDestroy, OnInit } from "@angular/core";
import { FormControl, FormGroup } from "@angular/forms";
import { Subject } from "rxjs";
import { BaseInputComponent } from "../base/base-input.component";
import { FormMasterService } from "../../core/service/form-master.service";
export declare class FormComponent implements AfterViewInit, OnDestroy, OnInit {
    private _formMaster;
    set readonly(value: boolean);
    get readonly(): boolean;
    keepInView: Element;
    onChange: EventEmitter<FormControl>;
    showClass: boolean;
    submitted: boolean;
    readonly validSubmit: EventEmitter<void>;
    readonly anySubmit: EventEmitter<void>;
    readonly validityChange: EventEmitter<boolean>;
    readonly readonlyChange: EventEmitter<boolean>;
    formGroup: FormGroup;
    invalidSubmit: Subject<void>;
    private _readonly;
    private _valueChangeSub;
    private _statusChangeSub;
    private _init;
    private _componentMap;
    constructor(_formMaster: FormMasterService);
    ngAfterViewInit(): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    addFormInput(formInput: BaseInputComponent<any>): void;
    removeFormInput(formInput: BaseInputComponent<any>): void;
    updateFormInput(formInput: BaseInputComponent<any>): void;
    checkUpdateValidity(): boolean;
    isTouched(): boolean;
    isValid(): boolean;
    reset(): void;
    submit(throughFormMaster?: boolean): boolean;
    showErrorTooltipOnFormGroupControl(key: string): void;
    private _setFirstInvalidElementOnMaster;
}
