import { OnInit, OnDestroy, EventEmitter, ElementRef, ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';
import { UntypedFormGroup, UntypedFormBuilder } 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;
    disableComments: 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>;
    selected3DScene: EventEmitter<any>;
    selectedTypeEmitter: EventEmitter<any>;
    formValidation: EventEmitter<boolean>;
    formSubmitionData: EventEmitter<any>;
    closeOutside: EventEmitter<any>;
    formIsDirty: EventEmitter<boolean>;
    deleteFile: EventEmitter<any>;
    downloadTemplate: EventEmitter<any>;
    private 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: UntypedFormGroup;
    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: UntypedFormBuilder, 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;
    onSelectingScene(sceneIdx: number): 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": "templateType"; "templateCustomMsg": "templateCustomMsg"; "docTypeSelector": "docTypeSelector"; "docStatusSelector": "docStatusSelector"; "docResultSelector": "docResultSelector"; "sscStatusSelector": "sscStatusSelector"; "templateIconPath": "templateIconPath"; "size": "size"; "smallerModal": "smallerModal"; "headerStr": "headerStr"; "subHeaderStr": "subHeaderStr"; "headerAlign": "headerAlign"; "modalIsDeaf": "modalIsDeaf"; "editData": "editData"; "showDate": "showDate"; "showExpiredDate": "showExpiredDate"; "showTag": "showTag"; "showComment": "showComment"; "showType": "showType"; "showSSCType": "showSSCType"; "showName": "showName"; "disableSSCType": "disableSSCType"; "disableInputFile": "disableInputFile"; "disableInputName": "disableInputName"; "disableSSCDate": "disableSSCDate"; "disableSSCStatus": "disableSSCStatus"; "disableDescription": "disableDescription"; "disableComments": "disableComments"; "fileSize": "fileSize"; "acceptedTypes": "acceptedTypes"; "documentMinDate": "documentMinDate"; "documentMaxDate": "documentMaxDate"; "expireMinDate": "expireMinDate"; "expireMaxDate": "expireMaxDate"; "sscStatusLabel": "sscStatusLabel"; "separateButtons": "separateButtons"; "open": "open"; "resetForm": "resetForm"; "submitForm": "submitForm"; }, { "openChange": "openChange"; "clickedButton": "clickedButton"; "selected3DScene": "selected3DScene"; "selectedTypeEmitter": "selectedTypeEmitter"; "formValidation": "formValidation"; "formSubmitionData": "formSubmitionData"; "closeOutside": "closeOutside"; "formIsDirty": "formIsDirty"; "deleteFile": "deleteFile"; "downloadTemplate": "downloadTemplate"; }, ["headerDirective", "footerDirective"], ["*"], false>;
}
export {};
