import { EventEmitter, OnInit } from '@angular/core';
import { UntypedFormGroup, UntypedFormBuilder, NgForm, FormGroup, ControlValueAccessor } from '@angular/forms';
import { CaseCoreModel } from '../../models/cmp/CaseCoreModel';
import { ComplaintCategoryModel } from '../../models/cmp/ComplaintCategoryModel';
import { ChoicesModel } from '../../models/cmp/contactUsInqueryModel';
import { KeyValueModel } from '../../models/questionnaire/KeyValueModel';
import { CaseService } from '../../services/case-service/case.service';
import { CmpService } from '../../services/cmp-service/cmp.service';
import { LoggerService } from '../../services/logger/logger.service';
import { SecurityService } from '../../services/security-service/security.service';
import { UtilService } from '../../services/util/util.service';
import * as i0 from "@angular/core";
export declare class ContactUsComponent implements OnInit, ControlValueAccessor {
    formBuilder: UntypedFormBuilder;
    caseService: CaseService;
    cmpService: CmpService;
    securityService: SecurityService;
    util: UtilService;
    loggerService: LoggerService;
    contactUsForm: UntypedFormGroup;
    complaintCategoryRetrivedList: ComplaintCategoryModel[];
    complaintCategoryRetrivedListEmpr: ComplaintCategoryModel[];
    complaintCategoryRetrivedListClmt: ComplaintCategoryModel[];
    activeComplaintCategory: ComplaintCategoryModel[];
    caseNo: string;
    responseCall: any;
    allDepartments: KeyValueModel[];
    allUnits: KeyValueModel[];
    unitsBasedOnDept: KeyValueModel[];
    allCloseReasons: KeyValueModel[];
    allRoles: KeyValueModel[];
    users: any[];
    usersFLname: Array<ChoicesModel>;
    unitID: any;
    selectedDep: any;
    selectedDepType: any;
    selectedRole: any;
    selectedUnit: any;
    msgGeneratedThroughList: any;
    isCsr: boolean;
    isNewCase: boolean;
    selectedCase: CaseCoreModel;
    modelCancel: EventEmitter<boolean>;
    success: EventEmitter<any>;
    updateSuccess: EventEmitter<any>;
    onHide: EventEmitter<any>;
    onLoad: EventEmitter<any>;
    contactFormDirective: NgForm;
    showSuccess: boolean;
    display: boolean;
    submitSuccess: boolean;
    inputType: string;
    type: ChoicesModel[];
    constructor(formBuilder: UntypedFormBuilder, caseService: CaseService, cmpService: CmpService, securityService: SecurityService, util: UtilService, loggerService: LoggerService);
    private onChange;
    private onTouch;
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    ngOnInit(): void;
    loadPreSavedContactUsDetails(): void;
    emitHide(event: any): void;
    selectButtonValidation(): void;
    selectCSRvalidation(): void;
    submitContactUs(input: any): void;
    processSubmitQueryErrorResponse(err: any): void;
    processSubmitQueryResponse(res: any): void;
    validateAllFormFields(formGroup: FormGroup): void;
    getComplaintCategory(): void;
    activeUserType(event: any): void;
    selectDepartmentBasedOnCategory(event: any): void;
    fetchUnitsBasedOnDepType(event: any): void;
    getUnitsBasedOnDepSelected(): void;
    fetchUsersBasedOnUnit(event: any): void;
    fetchUsersBasedOnRoles(event: any): void;
    getUsersBasedOnDeptAndRole(): void;
    fetchMstDepartments(): import("rxjs").Subscription;
    fetchMstAllUnits(): import("rxjs").Subscription;
    fetchMstCaseCloseReasons(): import("rxjs").Subscription;
    getAllRoles(): import("rxjs").Subscription;
    getMsgGeneratedThrough(): import("rxjs").Subscription;
    get userType(): import("@angular/forms").AbstractControl<any, any>;
    get firstName(): import("@angular/forms").AbstractControl<any, any>;
    get lastName(): import("@angular/forms").AbstractControl<any, any>;
    get ssn(): import("@angular/forms").AbstractControl<any, any>;
    get claimantId(): import("@angular/forms").AbstractControl<any, any>;
    get ean(): import("@angular/forms").AbstractControl<any, any>;
    get fein(): import("@angular/forms").AbstractControl<any, any>;
    get selectedReason(): import("@angular/forms").AbstractControl<any, any>;
    get issue(): import("@angular/forms").AbstractControl<any, any>;
    get email(): import("@angular/forms").AbstractControl<any, any>;
    get phone(): import("@angular/forms").AbstractControl<any, any>;
    get altPhone(): import("@angular/forms").AbstractControl<any, any>;
    get address(): import("@angular/forms").AbstractControl<any, any>;
    get captcha(): import("@angular/forms").AbstractControl<any, any>;
    get division(): import("@angular/forms").AbstractControl<any, any>;
    get unit(): import("@angular/forms").AbstractControl<any, any>;
    get generalAssignment(): import("@angular/forms").AbstractControl<any, any>;
    get assignCaseTo(): import("@angular/forms").AbstractControl<any, any>;
    get closeCaseReason(): import("@angular/forms").AbstractControl<any, any>;
    get generatedThrough(): import("@angular/forms").AbstractControl<any, any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ContactUsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ContactUsComponent, "app-contact-us", never, { "isCsr": { "alias": "isCsr"; "required": false; }; "isNewCase": { "alias": "isNewCase"; "required": false; }; "selectedCase": { "alias": "selectedCase"; "required": false; }; }, { "modelCancel": "modelCancel"; "success": "success"; "updateSuccess": "updateSuccess"; "onHide": "onHide"; "onLoad": "onLoad"; }, never, never, false, never>;
}
//# sourceMappingURL=contact-us.component.d.ts.map