import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit, SimpleChanges, TemplateRef } from "@angular/core";
import { TuiPreviewDialogService } from "@taiga-ui/addon-preview";
import { TuiDialogContext, TuiDialogService } from "@taiga-ui/core";
import { KwikUILoaderService } from "kwikui";
import { ELogEventType } from "./renderer.definitions";
import * as i0 from "@angular/core";
export declare class KwikIDFormsRendererComponent implements OnInit, OnChanges {
    private hostElement;
    private cdr;
    private readonly previewDialogService;
    loaderService: KwikUILoaderService;
    private readonly dialogs;
    windowResizeWatcher(): void;
    readonly preview: TemplateRef<TuiDialogContext<void>>;
    private previewDialogRef;
    stepConfig: any;
    userConfig: any;
    formsData: any;
    extraData: any;
    activeFormData: any;
    apiCallResponse: any;
    buttonClickResponse: any;
    onClickSubmit: EventEmitter<any>;
    getFormData: EventEmitter<any>;
    onClickApiCall: EventEmitter<any>;
    onClickViewFile: EventEmitter<any>;
    getLogs: EventEmitter<any>;
    onClickFormFieldButton: EventEmitter<any>;
    loading: boolean;
    showErrorNotification: boolean;
    toggleErrorNotification(show: any): void;
    activePopupFormData: any;
    popupFormCallback: any;
    activeFormConfig: any;
    activeFormFields: any[];
    allFormsData: any;
    allFormsSubmitted: boolean;
    formsList: any[];
    formsListCompleted: string[];
    isMobileView: boolean;
    previewProperties: any;
    popupFormConfig: any;
    showForm: boolean;
    showFormFields: boolean;
    showFormSections: boolean;
    isUnsavedData: boolean;
    constructor(hostElement: ElementRef, cdr: ChangeDetectorRef, previewDialogService: TuiPreviewDialogService, loaderService: KwikUILoaderService, dialogs: TuiDialogService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    triggerLogs(eventType: ELogEventType, logs: any): void;
    toggleLoader(loader: any): void;
    fetchFormConfig(url: string): Promise<any>;
    initializeForms(eventType: string): Promise<void>;
    convertFormListConfig(formsList: any[]): any[];
    /**
     * NOTE: To be deprecated.
     * Why ? Will be directly assigned while executing 'chakra' for default form config.
     * @param formsList any[]
     * @param formsListCompleted string[]
     * @returns any[]
     */
    assignSequenceNoToForm(formsList: any[]): any[];
    findCompletedFormsList(allFormsData: any): string[];
    /**
     * NOTE: To be deprecated. Why ? Will be replaced by 'chakra'.
     * @param formsList any[]
     * @param formsListCompleted string[]
     * @returns any[]
     */
    markFormInFormsListAsCompleted(formsList: any[], formsListCompleted: string[]): any[];
    /**
     * NOTE: To be deprecated. Why ? Will be replaced by 'chakra'.
     * @param formsList any[]
     * @param formsListCompleted string[]
     * @returns any[]
     */
    markFormInFormsListAsDisabled(formsList: any[], formsListCompleted: string[]): any[];
    filterAllFormsData(allFormsData: any, formsList: any[]): any;
    checkIfFormsStatusCompleted(formsList: any, formsListCompleted: string[]): any;
    findActiveFormConfig(formsList: any[]): any;
    updateFormsList(): Promise<void>;
    showPreview(previewProperties: any): void;
    formHide(formKey: string): void;
    formShow(formKey: string): void;
    takeAction(action: any, object: any): Promise<void>;
    findFormsListLength(formsList: any[]): number;
    /**
     * Library Event Listeners
     */
    /**
     * FormList - Listens to event of opening the FormView of when any form is clicked in FormList
     * @param selectedForm string
     */
    handleOnClickSetActiveForm(selectedForm: string, triggerType: any): Promise<void>;
    /**
     * FormView - Listens to event of executing an API call from within the FormView and emits (read as passes) the same event to the library consumer.
     * @param e any
     */
    handleGetUnsavedState(e: any): void;
    handleOnClickApiCall(e: any): void;
    handleOnClickViewFile(e: any): void;
    handleOnClickFormFieldButton(e: any): void;
    handleOnActionShowPopupForm(e: any, content: any): void;
    /**
     * FormView - Listens to event of getting the Active Form's Data when the Form is Saved and emits (read as passes) the same event to the library consumer.
     * @param e any
     */
    handleOnClickSaveForm(e: any, eventType: "FORM" | "POPUP_FORM", context: undefined): void;
    /**
     * FormView - Listens to event of showing the Forms List in Mobile View.
     * @param e any
     */
    handleOnClickViewForms(e: any): void;
    /**
     * Handles the event of going back to the previous form directly or by tabbing, without showing the form list in mobile view.
     *
     * Prerequisite: The current form can never be locked; it should either be in an editable or completed state.
     *
     * Logic:
     * 1. For DIRECT mode, find the config of the previous form starting from the first form, such that the previous form is editable and its sequence number is one less than the current active form's sequence number.
     *    If no previous form is found or all forms have been completed, show the form list.
     * 2. For TABBED mode, find the config of the previous form in the list, such that the previous form's sequence number is less than the current active form's sequence number and the form is editable.
     *    If no previous form is found, show the form list.
     *
     * @param {Object} e - The event object containing the mode to go back in.
     * @param {string} e.mode - The mode of going back: DIRECT or TABBED.
     * @returns {void}
     */
    handleOnClickGoBack(e: any): void;
    /**
     * FormList - Listens to event of submitting all the forms and moving out of the library and also handles the validation of all the forms.
     * @param e any
     */
    handleOnClickSubmitForms(e: any): Promise<void>;
    handleGetLogs(event: any): void;
    /**
     * Miscellaneous Methods
     */
    handleResize(formsList: any[]): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<KwikIDFormsRendererComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KwikIDFormsRendererComponent, "kwikid-forms-renderer", never, { "stepConfig": "stepConfig"; "userConfig": "userConfig"; "formsData": "formsData"; "extraData": "extraData"; "activeFormData": "activeFormData"; "apiCallResponse": "apiCallResponse"; "buttonClickResponse": "buttonClickResponse"; }, { "onClickSubmit": "onClickSubmit"; "getFormData": "getFormData"; "onClickApiCall": "onClickApiCall"; "onClickViewFile": "onClickViewFile"; "getLogs": "getLogs"; "onClickFormFieldButton": "onClickFormFieldButton"; }, never, never>;
}
