import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import { MatLegacyDialog as MatDialog } from '@angular/material/legacy-dialog';
import { Subscription } from 'rxjs';
import { AbstractAppConfig } from '../../../../app.config';
import { DocumentManagementService } from '../../../services/document-management/document-management.service';
import { JurisdictionService } from '../../../services/jurisdiction/jurisdiction.service';
import { CaseNotifier } from '../../case-editor/services/case.notifier';
import { AbstractFieldWriteComponent } from '../base-field/abstract-field-write.component';
import { FileUploadStateService } from './file-upload-state.service';
import * as i0 from "@angular/core";
export declare class WriteDocumentFieldComponent extends AbstractFieldWriteComponent implements OnInit, OnDestroy {
    private readonly appConfig;
    private readonly caseNotifier;
    private readonly documentManagement;
    dialog: MatDialog;
    private readonly fileUploadStateService;
    private readonly jurisdictionService;
    static readonly DOCUMENT_URL = "document_url";
    static readonly DOCUMENT_BINARY_URL = "document_binary_url";
    static readonly DOCUMENT_FILENAME = "document_filename";
    static readonly DOCUMENT_HASH = "document_hash";
    static readonly UPLOAD_TIMESTAMP = "upload_timestamp";
    static readonly UPLOAD_ERROR_FILE_REQUIRED = "File required";
    static readonly UPLOAD_ERROR_NOT_AVAILABLE = "Document upload facility is not available at the moment";
    static readonly UPLOAD_ERROR_INVALID_FORMAT = "Document format is not supported";
    static readonly UPLOAD_WAITING_FILE_STATUS = "Uploading...";
    static readonly ERROR_UPLOADING_FILE = "Error Uploading File";
    fileInput: ElementRef;
    selectedFile: File;
    valid: boolean;
    fileUploadMessages: string;
    confirmReplaceResult: string;
    clickInsideTheDocument: boolean;
    fileUploadSubscription: Subscription;
    dialogSubscription: Subscription;
    caseNotifierSubscription: Subscription;
    jurisdictionSubs: Subscription;
    private uploadedDocument;
    private dialogConfig;
    jurisdictionId: string;
    caseTypeId: string;
    caseTypeExclusions: string;
    fileSecureModeOn: boolean;
    constructor(appConfig: AbstractAppConfig, caseNotifier: CaseNotifier, documentManagement: DocumentManagementService, dialog: MatDialog, fileUploadStateService: FileUploadStateService, jurisdictionService: JurisdictionService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    isUploadInProgress(): boolean;
    cancelUpload(): void;
    fileValidationsOnTab(): void;
    fileChangeEvent(fileInput: any, allowedRegex?: string): void;
    openFileDialog(): void;
    fileSelectEvent(): void;
    triggerReplace(): boolean;
    invalidFileFormat(): void;
    getUploadedFileName(): any;
    private resetUpload;
    private fileValidations;
    private openDialog;
    private isAMandatoryComponent;
    private displayFileUploadMessages;
    private isUpLoadingAFile;
    private validateFormUploadedDocument;
    private updateDocumentForm;
    private createDocumentFormWithValidator;
    private createDocumentForm;
    private getErrorMessage;
    private extractSecureErrorMessage;
    private buildDocumentUploadData;
    private handleDocumentUploadResult;
    private handleDocumentUploadError;
    static ɵfac: i0.ɵɵFactoryDeclaration<WriteDocumentFieldComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<WriteDocumentFieldComponent, "ccd-write-document-field", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=write-document-field.component.d.ts.map