import { type OnChanges, type OnDestroy, type OnInit } from '@angular/core';
import { AbstractControl } from '@angular/forms';
import type { AnyArray, AnyObject } from '@ngify/core';
import type { AbstractSchema, SingleSchemaKey } from '../../schemas';
import type { WidgetTemplateContext } from '../../widgets';
import * as i0 from "@angular/core";
export declare class FluentOutletDirective<T extends AnyObject | AnyArray> implements OnInit, OnChanges, OnDestroy, WidgetTemplateContext<AbstractSchema, AbstractControl> {
    private readonly registry;
    private readonly viewContainerRef;
    private readonly controlContainer;
    private _schema;
    /** @internal */
    set schema(value: AbstractSchema);
    /** @internal */
    get schema(): AbstractSchema;
    /** @internal */
    control: AbstractControl;
    /** @internal */
    get model(): import("@angular/core").Signal<T>;
    key: SingleSchemaKey;
    ngOnInit(): void;
    ngOnChanges(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FluentOutletDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FluentOutletDirective<any>, "fluent-outlet,[fluentOutlet]", ["fluentOutlet"], { "key": { "alias": "key"; "required": false; }; }, {}, never, never, true, never>;
}
