import { ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { MatSnackBar } from '@angular/material/snack-bar';
import { MatDialog } from '@angular/material/dialog';
import { Router } from '@angular/router';
import { SharedService } from '../../modules/shared/services/shared.service';
import { RoleMappingService } from '../../modules/shared/services/role-mapping.service';
import { EventService } from '../../modules/shared/services/event.service';
import * as i0 from "@angular/core";
export declare class RoleMappingGenerationComponent implements OnInit, OnChanges, OnDestroy {
    private eventSvc;
    sharedService: SharedService;
    private fb;
    private snackBar;
    dialog: MatDialog;
    roleMappingService: RoleMappingService;
    private router;
    pdfContent: ElementRef;
    loginStatusFlag: boolean;
    title: string;
    isMaintenancePage: any;
    selectedValue: string;
    searchText: string;
    dataSource: any;
    displayedColumns: string[];
    selectedMinistryType: string;
    ministryData: any;
    ministryFullData: any;
    roleMappingForm: FormGroup;
    disableBtn: boolean;
    sectorData: {
        value: string;
    }[];
    departmentData: any[];
    loading: boolean;
    maxFileSizeMB: number;
    allowedTypes: string[];
    uploadError: string | null;
    uploadedFile: File[] | null;
    login: boolean;
    cbpFinalObj: any;
    selectedMinistryId: string;
    originalFormValues: any;
    chunks: string[];
    fullJson: string;
    parsedData: any;
    currentProcessingStage: string;
    processingStages: string[];
    successRoleMapping: EventEmitter<any>;
    alreadyAvailableRoleMapping: EventEmitter<any>;
    loginSuccess: EventEmitter<any>;
    selectedMinistryObj: any;
    loginUserOrgIds: any[];
    panelOpen: boolean;
    departmentPanelOpen: boolean;
    filteredList: any[];
    filteredDepartmentList: any[];
    originalMinistryData: any[];
    apiLoading: boolean;
    firstApiResponse: any;
    documents: any[];
    disableUploadDocument: boolean;
    disableUploadDocumentOriginal: boolean;
    workAllocationOrderDocumentMissing: boolean;
    showWorkAllocationOrderDocumentMissing: boolean;
    private destroy$;
    constructor(eventSvc: EventService, sharedService: SharedService, fb: FormBuilder, snackBar: MatSnackBar, dialog: MatDialog, roleMappingService: RoleMappingService, router: Router);
    ngOnInit(): void;
    getUploadedDocuments(): void;
    editMinistryForm(): Promise<void>;
    ngOnChanges(): void;
    getChangedFields(original: any, current: any): string[];
    onGenerateRoleMapping(): any;
    getMinistryData(): void;
    onMinistryTypeChange(event: any): Promise<void>;
    onMinistryChange(event: any): void;
    searchData(): void;
    applyFilter(): void;
    downloadPDF(): void;
    onFileChange(event: any): void;
    loginStatus(event: any): void;
    generateFinalRoleMapping(): void;
    generateFinalRoleMappingWithStream(): void;
    updateProcessingStage(): void;
    getProgressPercentage(): number;
    onStreamEnd(): void;
    getDisplayProgressPercentage(): number;
    handleStreamError(err: any): void;
    removeFile(index: number): void;
    getUserProfileData(): void;
    onOpened(opened: boolean): void;
    onOpenedDepartment(opened: boolean): void;
    filterData(event: any): void;
    filterDepartmentData(event: any): void;
    ngOnDestroy(): void;
    onDepartmentChange(): void;
    goToUploadDocument(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<RoleMappingGenerationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RoleMappingGenerationComponent, "app-role-mapping-generation", never, { "loginStatusFlag": { "alias": "loginStatusFlag"; "required": false; }; }, { "successRoleMapping": "successRoleMapping"; "alreadyAvailableRoleMapping": "alreadyAvailableRoleMapping"; "loginSuccess": "loginSuccess"; }, never, never, false, never>;
}
//# sourceMappingURL=role-mapping-generation.component.d.ts.map