import { ChangeDetectorRef, ComponentFactoryResolver, EventEmitter, QueryList, Type, ViewContainerRef } from "@angular/core";
import { UntypedFormGroup } from "@angular/forms";
import { DynamicFormArrayComponent, DynamicFormArrayGroupModel, DynamicFormArrayModel, DynamicFormComponentService, DynamicFormControl, DynamicFormControlContainerComponent, DynamicFormControlCustomEvent, DynamicFormControlEvent, DynamicFormControlLayout, DynamicFormControlModel, DynamicFormGroupComponent, DynamicFormGroupModel, DynamicFormLayout, DynamicFormLayoutService, DynamicFormRelationService, DynamicFormValidationService, DynamicTemplateDirective } from "@ng-dynamic-forms/core";
import * as i0 from "@angular/core";
export declare class DynamicNGBootstrapFormControlContainerComponent extends DynamicFormControlContainerComponent {
    protected changeDetectorRef: ChangeDetectorRef;
    protected componentFactoryResolver: ComponentFactoryResolver;
    protected layoutService: DynamicFormLayoutService;
    protected validationService: DynamicFormValidationService;
    protected componentService: DynamicFormComponentService;
    protected relationService: DynamicFormRelationService;
    contentTemplateList: QueryList<DynamicTemplateDirective>;
    klass?: string;
    asBootstrapFormGroup: boolean;
    context: DynamicFormArrayGroupModel | null;
    group: UntypedFormGroup;
    hostClass?: string[];
    inputTemplateList?: QueryList<DynamicTemplateDirective>;
    layout?: DynamicFormLayout;
    model: DynamicFormControlModel;
    blur: EventEmitter<DynamicFormControlEvent>;
    change: EventEmitter<DynamicFormControlEvent>;
    focus: EventEmitter<DynamicFormControlEvent>;
    customEvent: EventEmitter<DynamicFormControlEvent>;
    componentViewContainerRef: ViewContainerRef;
    constructor(changeDetectorRef: ChangeDetectorRef, componentFactoryResolver: ComponentFactoryResolver, layoutService: DynamicFormLayoutService, validationService: DynamicFormValidationService, componentService: DynamicFormComponentService, relationService: DynamicFormRelationService);
    get componentType(): Type<DynamicFormControl> | null;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicNGBootstrapFormControlContainerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicNGBootstrapFormControlContainerComponent, "dynamic-ng-bootstrap-form-control", never, { "asBootstrapFormGroup": { "alias": "asBootstrapFormGroup"; "required": false; }; "context": { "alias": "context"; "required": false; }; "group": { "alias": "group"; "required": false; }; "hostClass": { "alias": "hostClass"; "required": false; }; "inputTemplateList": { "alias": "templates"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "model": { "alias": "model"; "required": false; }; }, { "blur": "blur"; "change": "change"; "focus": "focus"; "customEvent": "ngbEvent"; }, ["contentTemplateList"], ["*"], true, never>;
}
export declare function ngBootstrapUIFormControlMapFn(model: DynamicFormControlModel): Type<DynamicFormControl> | null;
export declare class DynamicNGBootstrapFormArrayComponent extends DynamicFormArrayComponent {
    protected layoutService: DynamicFormLayoutService;
    protected validationService: DynamicFormValidationService;
    formLayout?: DynamicFormLayout;
    group: UntypedFormGroup;
    layout?: DynamicFormControlLayout;
    model: DynamicFormArrayModel;
    templates?: QueryList<DynamicTemplateDirective>;
    blur: EventEmitter<any>;
    change: EventEmitter<any>;
    customEvent: EventEmitter<DynamicFormControlCustomEvent>;
    focus: EventEmitter<any>;
    components: QueryList<DynamicNGBootstrapFormControlContainerComponent>;
    constructor(layoutService: DynamicFormLayoutService, validationService: DynamicFormValidationService);
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicNGBootstrapFormArrayComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicNGBootstrapFormArrayComponent, "dynamic-ng-bootstrap-form-array", never, { "formLayout": { "alias": "formLayout"; "required": false; }; "group": { "alias": "group"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "model": { "alias": "model"; "required": false; }; "templates": { "alias": "templates"; "required": false; }; }, { "blur": "blur"; "change": "change"; "customEvent": "customEvent"; "focus": "focus"; }, never, never, true, never>;
}
export declare class DynamicNGBootstrapFormGroupComponent extends DynamicFormGroupComponent {
    protected layoutService: DynamicFormLayoutService;
    protected validationService: DynamicFormValidationService;
    formLayout?: DynamicFormLayout;
    group: UntypedFormGroup;
    layout?: DynamicFormControlLayout;
    model: DynamicFormGroupModel;
    templates?: QueryList<DynamicTemplateDirective> | DynamicTemplateDirective[];
    blur: EventEmitter<any>;
    change: EventEmitter<any>;
    customEvent: EventEmitter<DynamicFormControlCustomEvent>;
    focus: EventEmitter<any>;
    components: QueryList<DynamicNGBootstrapFormControlContainerComponent>;
    constructor(layoutService: DynamicFormLayoutService, validationService: DynamicFormValidationService);
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicNGBootstrapFormGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicNGBootstrapFormGroupComponent, "dynamic-ng-bootstrap-form-group", never, { "formLayout": { "alias": "formLayout"; "required": false; }; "group": { "alias": "group"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "model": { "alias": "model"; "required": false; }; "templates": { "alias": "templates"; "required": false; }; }, { "blur": "blur"; "change": "change"; "customEvent": "customEvent"; "focus": "focus"; }, never, never, true, never>;
}
