import { OnInit, OnDestroy, EventEmitter, ElementRef, ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';
import { FormGroup, FormBuilder } from '@angular/forms';
import { Overlay } from '@angular/cdk/overlay';
import { ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';
import { ModalHeaderDirective } from './header.directive';
import { ModalFooterDirective } from './footer.directive';
import * as i0 from "@angular/core";
interface DropDownSelector {
    id: number;
    name: string;
    opened: boolean;
    color: string;
}
export declare class ModalComponent implements OnInit, OnChanges, OnDestroy {
    private fb;
    private cdRef;
    private focusTrapFactory;
    private document;
    private overlay;
    private element;
    templateType: 'successModal' | 'warningModal' | 'confirmDelModal' | 'confirmActionModal' | 'assets3DModal' | 'docsUploadModal' | 'sscUploadModal' | '';
    templateCustomMsg: string;
    docTypeSelector: any[];
    docStatusSelector: any[];
    docResultSelector: any[];
    sscStatusSelector: any[];
    templateIconPath: string;
    size: 'large';
    smallerModal: boolean;
    headerStr: string;
    subHeaderStr: string;
    headerAlign: 'left' | 'center' | 'right';
    modalIsDeaf: boolean;
    editData: any;
    showDate: boolean;
    showExpiredDate: boolean;
    showTag: boolean;
    showComment: boolean;
    showType: boolean;
    showSSCType: boolean;
    showName: boolean;
    disableSSCType: boolean;
    disableInputFile: boolean;
    disableInputName: boolean;
    disableSSCDate: boolean;
    disableSSCStatus: boolean;
    disableDescription: boolean;
    fileSize: number;
    acceptedTypes: string;
    documentMinDate: any;
    documentMaxDate: any;
    expireMinDate: any;
    expireMaxDate: any;
    sscStatusLabel: string;
    private _separateButtons;
    set separateButtons(separateButtons: string | boolean);
    get separateButtons(): string | boolean;
    open: boolean;
    private _resetForm;
    set resetForm(_resetForm: any);
    get resetForm(): any;
    private _submitForm;
    set submitForm(_submitForm: any);
    get submitForm(): any;
    openChange: EventEmitter<any>;
    clickedButton: EventEmitter<any>;
    selectedTypeEmitter: EventEmitter<any>;
    formValidation: EventEmitter<boolean>;
    formSubmitionData: EventEmitter<any>;
    closeOutside: EventEmitter<any>;
    formIsDirty: EventEmitter<boolean>;
    deleteFile: EventEmitter<any>;
    downloadTemplate: EventEmitter<any>;
    private readonly dragDropFile;
    headerDirective: ModalHeaderDirective;
    footerDirective: ModalFooterDirective;
    headingId: string;
    contentId: string;
    openModalAssets3d: boolean;
    openModalDocsUpload: boolean;
    openModalSmall: boolean;
    openModalLarge: boolean;
    openModalSuccess: boolean;
    openModalWarning: boolean;
    openModalConfirmDel: boolean;
    openModalConfirmAction: boolean;
    datePickerData: Date;
    datePickerExpiredData: Date;
    uploadForm: FormGroup;
    file: any;
    sscFileName: any;
    resetDatePicker: boolean;
    fileUploadIsToBig: boolean;
    dD: {
        [key: string]: DropDownSelector;
    };
    pickStatus: any;
    pickDocType: any;
    pickDocStatus: any;
    pickDocResult: any;
    private focusTrap;
    private container;
    private elementFocusedBeforeDialogWasOpened;
    private scrollStrategy;
    private subscriptions$;
    constructor(fb: FormBuilder, cdRef: ChangeDetectorRef, focusTrapFactory: ConfigurableFocusTrapFactory, document: any, overlay: Overlay, element: ElementRef);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    initDropDowns(): void;
    /**
     * Listen for "esc" key pressed by user to close opened Modal
     *
     * @param evt
     */
    close(evt: Event): void;
    /**
     * Listen for "click" outside Modal to close opened Modal
     *
     * @param evt
     */
    stopPropagation(evt: Event): void;
    modalClose(action: string): void;
    updateWithSelectedOption(selectorName: string, selectedItem: any, formControlName: string): void;
    resetUploadForm(): void;
    /**
     * Method to set new date on the form
     *
     * @param event - New Date selected
     */
    templateEventEmited(event: string): void;
    expireDateEmited(event: string): void;
    onFileDropped(evt: File): void;
    onDeleteFile(evt: File | FileList): void;
    onDownloadTemplate(): void;
    private handleOpen;
    static ɵfac: i0.ɵɵFactoryDeclaration<ModalComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ModalComponent, "uno-modal", never, { "templateType": { "alias": "templateType"; "required": false; }; "templateCustomMsg": { "alias": "templateCustomMsg"; "required": false; }; "docTypeSelector": { "alias": "docTypeSelector"; "required": false; }; "docStatusSelector": { "alias": "docStatusSelector"; "required": false; }; "docResultSelector": { "alias": "docResultSelector"; "required": false; }; "sscStatusSelector": { "alias": "sscStatusSelector"; "required": false; }; "templateIconPath": { "alias": "templateIconPath"; "required": false; }; "size": { "alias": "size"; "required": false; }; "smallerModal": { "alias": "smallerModal"; "required": false; }; "headerStr": { "alias": "headerStr"; "required": false; }; "subHeaderStr": { "alias": "subHeaderStr"; "required": false; }; "headerAlign": { "alias": "headerAlign"; "required": false; }; "modalIsDeaf": { "alias": "modalIsDeaf"; "required": false; }; "editData": { "alias": "editData"; "required": false; }; "showDate": { "alias": "showDate"; "required": false; }; "showExpiredDate": { "alias": "showExpiredDate"; "required": false; }; "showTag": { "alias": "showTag"; "required": false; }; "showComment": { "alias": "showComment"; "required": false; }; "showType": { "alias": "showType"; "required": false; }; "showSSCType": { "alias": "showSSCType"; "required": false; }; "showName": { "alias": "showName"; "required": false; }; "disableSSCType": { "alias": "disableSSCType"; "required": false; }; "disableInputFile": { "alias": "disableInputFile"; "required": false; }; "disableInputName": { "alias": "disableInputName"; "required": false; }; "disableSSCDate": { "alias": "disableSSCDate"; "required": false; }; "disableSSCStatus": { "alias": "disableSSCStatus"; "required": false; }; "disableDescription": { "alias": "disableDescription"; "required": false; }; "fileSize": { "alias": "fileSize"; "required": false; }; "acceptedTypes": { "alias": "acceptedTypes"; "required": false; }; "documentMinDate": { "alias": "documentMinDate"; "required": false; }; "documentMaxDate": { "alias": "documentMaxDate"; "required": false; }; "expireMinDate": { "alias": "expireMinDate"; "required": false; }; "expireMaxDate": { "alias": "expireMaxDate"; "required": false; }; "sscStatusLabel": { "alias": "sscStatusLabel"; "required": false; }; "separateButtons": { "alias": "separateButtons"; "required": false; }; "open": { "alias": "open"; "required": false; }; "resetForm": { "alias": "resetForm"; "required": false; }; "submitForm": { "alias": "submitForm"; "required": false; }; }, { "openChange": "openChange"; "clickedButton": "clickedButton"; "selectedTypeEmitter": "selectedTypeEmitter"; "formValidation": "formValidation"; "formSubmitionData": "formSubmitionData"; "closeOutside": "closeOutside"; "formIsDirty": "formIsDirty"; "deleteFile": "deleteFile"; "downloadTemplate": "downloadTemplate"; }, ["headerDirective", "footerDirective"], ["*"], true, never>;
}
export {};
