/// import type { Disposable } from '@difizen/mana-common'; import type { Contribution } from '@difizen/mana-syringe'; import type { ModalItem, ModalItemProps } from './modal-protocol'; import { ModalContribution } from './modal-protocol'; export declare class ModalItemView implements Disposable { modalItem: ModalItem; modalVisible: boolean; modalData?: T; constructor(modalItem: ModalItem); open: (data: T) => void; close: () => void; shouldRender(): boolean; getModalProps(): ModalItemProps; disposed: boolean; dispose(): void; } export declare class ModalService { protected modals: Map>; modalViewList: ModalItemView[]; protected readonly contributions: Contribution.Provider; constructor(contributions: Contribution.Provider); init(): void; hasModal(modal: ModalItem | string): boolean; getModal(modal: ModalItem | string): ModalItem | undefined; registerModal(modal: ModalItem): void; registerModals(modals: ModalItem[]): void; unregisterModal(modal: ModalItem): void; getOrCreateModalView(modal: ModalItem): ModalItemView; openModal: (modal: { id: string; } | string, data?: T | undefined) => void; closeModal: (modal: { id: string; } | string) => void; closeAllModal: () => void; getModalProps: (itemView: ModalItemView) => ModalItemProps; shouldRenderModal: (itemView: ModalItemView) => boolean; renderModal(itemView: ModalItemView): React.ReactNode; } //# sourceMappingURL=modal-service.d.ts.map