import { type FormControlStatus, FormGroup } from '@angular/forms';
import type { AnyArray, AnyObject } from '@ngify/core';
import type { AbstractFormGroupSchema } from '../../schemas';
import { FluentControlContainerDirective } from './models/control-container';
import * as i0 from "@angular/core";
export declare class FluentFormDirective<T extends AnyObject | AnyArray> extends FluentControlContainerDirective<T> {
    private readonly formUtil;
    private readonly modelUtil;
    private internalModel;
    readonly schema: import("@angular/core").InputSignal<AbstractFormGroupSchema>;
    readonly model: import("@angular/core").ModelSignal<T>;
    readonly patchedSchema: import("@angular/core").Signal<AbstractFormGroupSchema>;
    readonly form: import("@angular/core").Signal<FormGroup<any>>;
    readonly formChange: import("@angular/core").OutputEmitterRef<FormGroup<any>>;
    readonly valueChanges: import("@angular/core").OutputEmitterRef<T>;
    readonly statusChanges: import("@angular/core").OutputEmitterRef<FormControlStatus>;
    /** The submit event will only be triggered when the host element is a form element */
    readonly submit: import("@angular/core").OutputEmitterRef<SubmitEvent>;
    constructor();
    onSubmit(event: SubmitEvent): boolean;
    private onValueChanges;
    static ɵfac: i0.ɵɵFactoryDeclaration<FluentFormDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FluentFormDirective<any>, "[fluentSchema]", ["fluentForm"], { "schema": { "alias": "fluentSchema"; "required": true; "isSignal": true; }; "model": { "alias": "fluentModel"; "required": true; "isSignal": true; }; }, { "model": "fluentModelChange"; "formChange": "fluentFormChange"; "valueChanges": "fluentValueChanges"; "statusChanges": "fluentStatusChanges"; "submit": "fluentSubmit"; }, never, never, true, never>;
}
