import { EventEmitter, OnInit } from '@angular/core';
import { UntypedFormBuilder, UntypedFormGroup, UntypedFormArray, NgForm } from '@angular/forms';
import { ToastController } from '@ionic/angular';
import { DocTypeUpload, DocUploadModel, DocTypeDropdownOption } from '../../models/fileupload/DocUploadModel';
import * as i0 from "@angular/core";
export declare class ProofOfDocumentUploadComponent implements OnInit {
    formBuilder: UntypedFormBuilder;
    toastController: ToastController;
    showProgress: boolean;
    uploadFileFormDirective: NgForm;
    upload: EventEmitter<any>;
    files: EventEmitter<Map<File, string>>;
    docForm: EventEmitter<UntypedFormGroup>;
    fileInput: any;
    queue: File[];
    fileObjectQueue: FileObject[];
    mapOfFiles: Map<File, string>;
    allowedFileType: string;
    multiple: boolean;
    proofOfAnything: boolean;
    context: string;
    showSeparateAttachButton: boolean;
    docUploadModel: DocUploadModel;
    selectedDocumentType: DocTypeUpload;
    docType: DocTypeUpload[] | undefined;
    docTypeDropdown: DocTypeDropdownOption[] | undefined;
    uploadFileForm: UntypedFormGroup;
    formArray: UntypedFormGroup;
    imageHtml: string;
    documentTypes: DocTypeUpload[] | undefined;
    constructor(formBuilder: UntypedFormBuilder, toastController: ToastController);
    get uploadFileCtrl(): import("@angular/forms").AbstractControl<any, any>;
    ngOnInit(): void;
    private onChange;
    writeValue(): void;
    registerOnChange(fn: any): void;
    registerOnTouched(): void;
    ngOnChanges(): void;
    get tableRows(): UntypedFormArray;
    addToQueue(event: any): Promise<void>;
    removeFromQueue(fileToRemove: any): void;
    changeDocType(file: any, event: any): void;
    clearDocType(file: any): void;
    updateQueueWithType(fileObject: any): void;
    presentToast(msg: any, color: any): Promise<void>;
    success(msg: any): void;
    error(msg: any): void;
    getSizeInMB(num: number): number;
    static ɵfac: i0.ɵɵFactoryDeclaration<ProofOfDocumentUploadComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ProofOfDocumentUploadComponent, "app-proof-of-document-upload", never, { "allowedFileType": { "alias": "allowedFileType"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "proofOfAnything": { "alias": "proofOfAnything"; "required": false; }; "context": { "alias": "context"; "required": false; }; "showSeparateAttachButton": { "alias": "showSeparateAttachButton"; "required": false; }; "docUploadModel": { "alias": "docUploadModel"; "required": false; }; "selectedDocumentType": { "alias": "selectedDocumentType"; "required": false; }; "docType": { "alias": "docType"; "required": false; }; }, { "upload": "upload"; "files": "files"; "docForm": "docForm"; }, never, never, false, never>;
}
export declare class FileObject {
    file: File;
    docType: string;
    fileName: string;
    contentType: string;
    fileInBased64: string;
    name: string;
    constructor(docType: string, name: string, fileName: string, contentType: string, fileInBased64: string);
}
//# sourceMappingURL=proof-of-document-upload.component.d.ts.map