import { ComponentFactoryResolver, ComponentRef, ElementRef, OnDestroy, Type } from '@angular/core';
import { Subject } from 'rxjs';
import { ModalOptions } from '../interfaces/modal-options';
import { ContainerModalService } from '../addons/container-modal/container-modal.service';
import { ModalFormConfig } from '../interfaces/modal-smart-form-config';
import { ModalInstance } from '../interfaces/modal-instance';
import { I18nService } from '../../i18n/i18n.service';
export declare class ModalService implements OnDestroy {
    private i18nService;
    private containerModal;
    instanceComponent: ModalInstance;
    componentList: ModalInstance[];
    changeModal: Subject<unknown>;
    frontModal: Subject<unknown>;
    activeModal: ComponentRef<any>;
    componentInjected: ComponentRef<any>;
    private modalShow;
    private component;
    private view;
    private modalConfiguration;
    private selectedModal;
    private modalOptions;
    private backdrop;
    private eventCallback;
    private visibleModals;
    private referenceSmartForm;
    constructor(i18nService: I18nService, containerModal: ContainerModalService);
    createModalDialog(component: Type<any>, factoryResolver: any, mdOptions?: ModalOptions): Promise<unknown>;
    createModal(component: Type<any>, factoryOrConfig: ComponentFactoryResolver, identifier?: string, properties?: {}, parentElement?: ElementRef, mdOptions?: ModalOptions): Promise<unknown>;
    createSmartFormModal(component: Type<any>, formConfig: ModalFormConfig, mdOptions?: ModalOptions): Promise<unknown>;
    private handleCallbackModal;
    private isConfigSmartForm;
    private setInjectedComponent;
    private createComponentWrapper;
    private handleSmartFormTitle;
    private replaceTitleModal;
    private setModalOptions;
    private setModalProperties;
    private setComponentWrapperProperties;
    private setInstanceComponent;
    private isModalExists;
    private isUniqueSmartForm;
    private validateUnique;
    private isSmartFormUpdateDeleteAction;
    private setComponentModal;
    private addNewComponent;
    private emitChangeListModals;
    private handleDeleteSmartForm;
    private isUpdateAction;
    private validateDataFormUpdate;
    close(id?: string): void;
    minimizeAll(): void;
    private removeOfView;
    closeAll(): void;
    private removeOfList;
    getModal(identifier: string): this;
    private handleBackDrop;
    private setInitialZIndex;
    private setZIndex;
    private updateZIndexBackdrop;
    private getZIndexModals;
    private getHighestZIndexModals;
    hasBackdrop(componentRef: any): boolean;
    setActiveModal(componentRef: ComponentRef<any>): void;
    getCurrentModalOptions(compRef: ComponentRef<any>): ModalInstance[];
    private createBackdrop;
    private reallocateComponent;
    private reallocateBackdrop;
    showModal(item: ComponentRef<any>): void;
    minimize(component: ComponentRef<any>): void;
    private getVisibleHighestZIndex;
    private handleActiveWindow;
    handleResetIndex(): void;
    private resetZIndex;
    hideBackdrop(): void;
    private handleHideBackdrop;
    private handleShowBackdrop;
    private getVisibleModals;
    private removeBackdrop;
    private destroyBackdrop;
    private getComponentById;
    execCallBack(result: any, id: string): Promise<any>;
    private handleRelativeDataSource;
    private resultCallback;
    private confirmDelete;
    private isDeleteAction;
    private getDataForm;
    private getRecordConfig;
    getInfoRecord(): string;
    private handleSmartFormCallback;
    private mathActionsModal;
    private executeAction;
    private isResultNotAllowed;
    private isResultUndefined;
    private isMdResultEqualsOK;
    ngOnDestroy(): void;
}
