import { KeyValue } from '@angular/common';
import { QueryList } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { ElementType } from '../model/former.enum';
import { CardElement, Element, GridColumnElement, GridLayoutElement, GroupElement } from '../model/former.model';
import { BaseElementComponent } from '../elements/base-element.component';
import { DomSanitizer } from '@angular/platform-browser';
import * as i0 from "@angular/core";
export declare class GeneratedFormElementComponent {
    protected readonly TextElement = ElementType.TextElement;
    protected readonly DisplayTextElement = ElementType.DisplayTextElement;
    protected readonly TextAreaElement = ElementType.TextAreaElement;
    protected readonly NumberElement = ElementType.NumberElement;
    protected readonly GroupElement = ElementType.GroupElement;
    protected readonly CalendarElement = ElementType.CalendarElement;
    protected readonly DropdownElement = ElementType.DropdownElement;
    protected readonly InputGroupElement = ElementType.InputGroupElement;
    protected readonly GridLayoutElement = ElementType.GridLayoutElement;
    protected readonly GridColumnElement = ElementType.GridColumnElement;
    protected readonly AutocompleteElement = ElementType.AutocompleteElement;
    protected readonly CheckboxElement = ElementType.CheckboxElement;
    protected readonly CardElement = ElementType.CardElement;
    protected readonly TemplateElement = ElementType.TemplateElement;
    parentKey: string;
    element: KeyValue<string, Element>;
    formGroup: FormGroup;
    class: string;
    templates?: QueryList<any>;
    get anyElement(): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<GeneratedFormElementComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GeneratedFormElementComponent, "[lib-generated-form-element]", never, { "parentKey": { "alias": "parentKey"; "required": false; }; "element": { "alias": "element"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "class": { "alias": "class"; "required": false; }; "templates": { "alias": "templates"; "required": false; }; }, {}, never, never, false, never>;
}
export declare class GridLayoutElementComponent extends BaseElementComponent<GridLayoutElement> {
    sanitizer: DomSanitizer;
    getElementClass(element: any): string;
    originalOrder: (a: KeyValue<any, any>, b: KeyValue<any, any>) => number;
    static ɵfac: i0.ɵɵFactoryDeclaration<GridLayoutElementComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GridLayoutElementComponent, "[lib-grid-layout-element]", never, {}, {}, never, never, false, never>;
}
export declare class GridColumnElementComponent extends BaseElementComponent<GridColumnElement> {
    originalOrder: (a: KeyValue<any, any>, b: KeyValue<any, any>) => number;
    static ɵfac: i0.ɵɵFactoryDeclaration<GridColumnElementComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GridColumnElementComponent, "[lib-grid-column-element]", never, {}, {}, never, never, false, never>;
}
export declare class GroupElementComponent extends BaseElementComponent<GroupElement> {
    originalOrder: (a: KeyValue<any, any>, b: KeyValue<any, any>) => number;
    get childGroup(): FormGroup;
    static ɵfac: i0.ɵɵFactoryDeclaration<GroupElementComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<GroupElementComponent, "lib-group-element", never, {}, {}, never, never, false, never>;
}
export declare class CardElementComponent extends BaseElementComponent<CardElement> {
    originalOrder: (a: KeyValue<any, any>, b: KeyValue<any, any>) => number;
    static ɵfac: i0.ɵɵFactoryDeclaration<CardElementComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CardElementComponent, "lib-card-element", never, {}, {}, never, never, false, never>;
}
