import { EventEmitter, QueryList } from '@angular/core';
import { AbstractControlDirective, ControlContainer } from '@angular/forms';
import { DFormControlRuleDirective, DFormGroupRuleDirective } from './validator-directive/form-control-rules.directive';
import * as i0 from "@angular/core";
export declare enum FormLayout {
    Horizontal = "horizontal",
    Vertical = "vertical",
    Columns = "columns"
}
export declare class FormDirective {
    layout: FormLayout;
    labelSize: 'sm' | '' | 'lg';
    labelAlign: 'start' | 'center' | 'end';
    /**
     * @deprecated Use dHasFeedback to replace, No longer support for label
     */
    dFeedbackType: 'label' | 'control';
    dHasFeedback: boolean;
    dSubmit: EventEmitter<any>;
    readonly _cd: AbstractControlDirective;
    readonly _dValidateRuleDir: DFormGroupRuleDirective;
    childrenCtrDirs: QueryList<DFormControlRuleDirective>;
    get layoutHorizontal(): boolean;
    get layoutVertical(): boolean;
    get layoutColumns(): boolean;
    get labelSizeLg(): boolean;
    get labelSizeSm(): boolean;
    get labelAlignStart(): boolean;
    get labelAlignCenter(): boolean;
    get labelAlignEnd(): boolean;
    updateOnSubmit($event?: any, data?: any): void;
    updateOnReset(): void;
    private _operateAllControl;
    private _getAllErrors;
    constructor(cd: ControlContainer, dValidateRuleDir: DFormGroupRuleDirective);
    static ɵfac: i0.ɵɵFactoryDeclaration<FormDirective, [{ optional: true; self: true; }, { optional: true; self: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FormDirective, "[dForm]", ["dForm"], { "layout": { "alias": "layout"; "required": false; }; "labelSize": { "alias": "labelSize"; "required": false; }; "labelAlign": { "alias": "labelAlign"; "required": false; }; "dFeedbackType": { "alias": "dFeedbackType"; "required": false; }; "dHasFeedback": { "alias": "dHasFeedback"; "required": false; }; }, { "dSubmit": "dSubmit"; }, ["childrenCtrDirs"], never, false, never>;
}
export declare class ActiveFormControlDirective {
    flag: boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<ActiveFormControlDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ActiveFormControlDirective, "[dActiveFormControl]", ["dActiveFormControl"], {}, {}, never, never, false, never>;
}
