import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit, QueryList, SimpleChanges, TemplateRef, ViewContainerRef } from "@angular/core";
import { DropDownListComponent, FilteringEventArgs } from "@syncfusion/ej2-angular-dropdowns";
import { FieldItem, SectionItem } from "./constants";
export declare class DrawerFormComponent implements OnInit, OnChanges, AfterViewInit {
    private ref;
    _form: Record<string, any>;
    _sections: SectionItem[];
    optionsMap: Record<string, any[]>;
    formDisabled: boolean;
    showAnchor: boolean;
    customTemplate: TemplateRef<any>;
    customSectionTemplate: Record<string, TemplateRef<any>>;
    optionFields: {
        text: string;
        value: string;
        disabled: string;
        groupBy: any;
    };
    showFilterNumber: number;
    numberFormat: string;
    dateFormat: string;
    formChange: EventEmitter<Record<string, any>>;
    fieldChange: EventEmitter<{
        field: FieldItem;
        value: any;
    }>;
    rootEl: ElementRef<HTMLDivElement>;
    private containers;
    private sectionContainers;
    dropdowns: QueryList<DropDownListComponent>;
    sections: SectionItem[];
    fieldTypeMap: Partial<Record<FieldItem["fieldFormType"], FieldItem[]>>;
    formFieldMap: Record<string, FieldItem>;
    form: Record<string, any>;
    fieldValidMap: Record<string, boolean>;
    dateForm: Record<string, Date>;
    dateValidMap: Record<string, boolean>;
    constructor(ref: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    customTemplateRender(containers: QueryList<ViewContainerRef>): void;
    customSectionRender(containers: QueryList<ViewContainerRef>): void;
    formatFieldMap(): void;
    setForm(form: Record<string, any>): void;
    equal(value: any, compareValue: any): boolean;
    checkFormChange(previous: Record<string, any>, current: Record<string, any>): void;
    syncFormToDateForm(field: FieldItem, value: any): void;
    syncFormField(): void;
    formatForm(sections: SectionItem[], form: Record<string, any>): Record<string, any>;
    getFormProxy(form: Record<string, any>): Record<string, any>;
    updateForm(value: any, field: FieldItem): void;
    formItemValidator(field: FieldItem, isAuto?: boolean): boolean;
    preCheckFormIsValid(): boolean;
    readonly formIsValid: boolean;
    getField(formKey: string): FieldItem;
    private callFunction;
    onInput(value: string, field: FieldItem): void;
    onComponentChange(event: any, field: FieldItem): void;
    onChange(value: any, field: FieldItem): void;
    onDatePickerBlur(event: any, field: FieldItem): void;
    onFocus(field: FieldItem): void;
    onBlur(field: FieldItem): void;
    onFiltering(event: FilteringEventArgs, field: FieldItem): void;
    onDropdownDataBound(event: any, field: FieldItem): void;
    getOptions(field: FieldItem): any[];
    getDisabled(field: FieldItem): boolean;
    getOptionFields(field: FieldItem): {
        text: string;
        value: string;
        disabled: string;
        groupBy: any;
    };
    sectionEls: QueryList<ElementRef<HTMLDivElement>>;
    scrollIndex: number;
    isClickAnchor: boolean;
    onClickAnchor(index: number): void;
    findScrollViewEl(el: HTMLElement): HTMLElement;
    initAnchorScrollHandler(): void;
}
