@difizen/mana-app
Version:
22 lines • 782 B
TypeScript
/// <reference types="react" />
import { Syringe } from '@difizen/mana-syringe';
export interface ModalItemProps<T> {
modalItem: ModalItem<T>;
data?: T;
visible: boolean;
close: () => void;
}
export interface ModalItem<T = any> {
id: string;
component: React.FC<ModalItemProps<T>>;
shouldRender?: (data?: T) => boolean;
render?: (props: ModalItemProps<T>) => React.ReactNode;
__data?: T;
}
export declare const ModalContribution: Syringe.DefinedToken;
export interface ModalContribution {
registerModal?: () => ModalItem<any>;
registerModals?: () => ModalItem<any>[];
}
export declare function renderModal<T>(componet: React.FC<ModalItemProps<T>>, props: ModalItemProps<any>): React.ReactNode;
//# sourceMappingURL=modal-protocol.d.ts.map