import { EventEmitter, QueryList } from '@angular/core';
import { UntypedFormGroup } from '@angular/forms';
import { NavController } from '@ionic/angular';
import { TranslateService } from '@ngx-translate/core';
import { ElementsModel } from '../../models/questionnaire/ElementsModel';
import { ValidationModel } from '../../models/questionnaire/ValidationModel';
import { LoggerService } from '../../services/logger/logger.service';
import { ValidationService } from '../../services/questionnaire/validation.service';
import { UtilService } from '../../services/util/util.service';
import { QuestionControlService } from './question-control.service';
import { QuestionService } from './question.service';
import { AddressComponent } from '../address/address.component';
import { BankDetailsComponent } from '../bank-details/bank-details.component';
import { EmployerDetailSearchResult } from '../../models/questionnaire/EmployerDetailSearchResult';
import { WeeklyCertEmployerGridComponent } from '../weekly-cert-employer-grid/weekly-cert-employer-grid.component';
import { JobTitleComponent } from '../job-title/job-title.component';
import { DomSanitizer } from '@angular/platform-browser';
import { LoginService } from '../../services/login/login.service';
import * as i0 from "@angular/core";
interface LinkComponentModel {
    uri: string;
    externalUrl: string;
    text: string;
}
export declare class DynamicFormQuestionComponent {
    private qcs;
    service: QuestionService;
    private translate;
    validationService: ValidationService;
    util: UtilService;
    navController: NavController;
    private logger;
    sanitizer: DomSanitizer;
    loginService: LoginService;
    question: ElementsModel;
    form: UntypedFormGroup;
    indexNumber: number;
    forScreenQuestionnaire: boolean;
    dynamicParam: any;
    potentialIssueId: number;
    onDynamicParamUpdate: EventEmitter<any>;
    isNewPasswordPolicyEnabled: boolean;
    isNewPasswordPolicyEnabledForClaimant: boolean;
    isNewPasswordPolicyEnabledForEmployer: boolean;
    isSameSymbolPolicyForClaimantAndAgency: boolean;
    filterResult: any[];
    minDate: Date;
    legalAccepted: boolean;
    OtpCompleted: boolean;
    maxDate: Date;
    index: number;
    returnModel: ValidationModel;
    displayPosition: boolean;
    position: string;
    popUpHeader: string;
    popUpText: string;
    popUpYesActionLabel: string;
    popUpNoActionLabel: string;
    type: string;
    showMinDate: boolean;
    showMaxDate: boolean;
    minValue: any;
    maxValue: any;
    td: any;
    alpRnd: string;
    varn: number;
    bankdtls: BankDetailsComponent;
    addresses: QueryList<AddressComponent>;
    wcEmployerGrid: WeeklyCertEmployerGridComponent;
    jobTitle: JobTitleComponent;
    linkComponentData: LinkComponentModel;
    constructor(qcs: QuestionControlService, service: QuestionService, translate: TranslateService, validationService: ValidationService, util: UtilService, navController: NavController, logger: LoggerService, sanitizer: DomSanitizer, loginService: LoginService);
    visibleIf(strExp: string, elementName: string): boolean;
    calculateOperandValue(strExp: string): boolean;
    ngOnInit(): void;
    setLinkComponentData(): void;
    showLabelForCustomComponent(): boolean;
    setMinMaxValue(): void;
    setMinMaxDate(): void;
    parseDate(strDate: string, type: string): Date;
    setStyle(indent: number): object;
    setMargin(margin: number): object;
    get isValid(): string;
    onAcceptedOtp(agreed: boolean): void;
    onAccepted(agreed: boolean): void;
    onCompleteRequalify(requalifyData: UntypedFormGroup): void;
    onModelDisplay(modelDisplay: boolean): void;
    onRadioOptionClick(event: any, element: ElementsModel): void;
    setFormValues(data: any): void;
    setValueInFormControl(name: any, value: any): void;
    filterValue(event: any, element: ElementsModel): void;
    onSelect(event: any, cntrlName: string): void;
    validate(element: ElementsModel): void;
    /**
     * @description This method will be called after selecting button from action label
     *              encrypts parameter values for URL using base64 encoding and XOR using random key
     **/
    accept(): void;
    reject(): void;
    getContextRoot(): string;
    uploadFile(ev: any): void;
    getTranslation(key: string, dynamicParam: any): string | String;
    getText(object: any): any;
    unmask(event: any): void;
    mask(event: any): void;
    dateInput(event: any): void;
    checkForValueChange(event: any): void;
    setEmployer(employer: EmployerDetailSearchResult): void;
    resetEmployer(): void;
    setFormControlValue(elementName: any, elementValue: any): void;
    setDefaultValue(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFormQuestionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicFormQuestionComponent, "app-question", never, { "question": { "alias": "question"; "required": false; }; "form": { "alias": "form"; "required": false; }; "indexNumber": { "alias": "indexNumber"; "required": false; }; "forScreenQuestionnaire": { "alias": "forScreenQuestionnaire"; "required": false; }; "dynamicParam": { "alias": "dynamicParam"; "required": false; }; "potentialIssueId": { "alias": "potentialIssueId"; "required": false; }; }, { "onDynamicParamUpdate": "onDynamicParamUpdate"; }, never, never, false, never>;
}
export {};
//# sourceMappingURL=dynamic-form-question.component.d.ts.map