import { OnDestroy } from "@angular/core";
import { Subject } from "rxjs";
import { FormComponent } from '../../components/form/form.component';
/**
 * Service to use inside [providers] of some leaf component that contains multiple <co-form>'s inside, possibly nested. Gives the master
 * full control over submits etc. of all its inner co-forms with just one service.
 */
export declare class FormMasterService implements OnDestroy {
    readonly validSlavesSubmit: Subject<void>;
    private _slaveForms;
    private _subs;
    private _slaveHoldingFirstInvalidField;
    private _keyOfFirstInvalidFieldInDom;
    private _positionOfFirstInvalidFieldInDom;
    private _firstErrorTooltipSpawned;
    constructor();
    ngOnDestroy(): void;
    addSlave(coFormComp: FormComponent): void;
    removeSlave(coFormComp: FormComponent): void;
    submitSlaves(): boolean;
    resetSlaves(): void;
    setFirstInvalidField(form: FormComponent, key: string, element: HTMLElement): void;
    allSlavesValid(): boolean;
    private _resetFirstInvalidFieldProps;
    private _handleFormCompInvalidity;
}
