import { IconType } from '../icon/index.js'; import { ToastType } from './toast.js'; export interface ModalApiProps { title?: React.ReactNode; okText?: string; cancelText?: string; content?: React.ReactNode; color?: string; icon?: IconType[]; onOk?: () => void | PromiseLike; onCancel?: () => void; type?: ToastType; } export interface ModalInstance { /** 重新显示窗口。命令式创建时默认就是打开的,hide 之前用它做二次确认这类场景。 */ show: () => void; /** 收起窗口,退场动画照常播;动画结束这棵树自己拆掉(和 Vue 那边 hide 的走向一致)。 */ hide: () => void; /** 立刻收起并在退场动画跑完后拆掉 DOM、退订配置。重复调用只生效一次。 */ destroy: () => void; } export interface ModalApi { show: (props: ModalApiProps) => ModalInstance; info: (props: ModalApiProps) => ModalInstance; success: (props: ModalApiProps) => ModalInstance; warning: (props: ModalApiProps) => ModalInstance; confirm: (props: ModalApiProps) => ModalInstance; error: (props: ModalApiProps) => ModalInstance; destroyAll: () => void; } export declare const modal: ModalApi;