import type { Locale } from 'ant-design-vue/es/locale'; import { type AppContext, type Component, type VNode } from 'vue'; /** 设置全局 appContext(应对 getCurrentInstance() 获取不到的场景) */ export declare function setOverlayAppContext(ctx: AppContext): void; /** 同步 ConfigProvider theme 配置到 overlay 弹窗 */ export declare function setOverlayTheme(theme: Record): void; /** 同步 ConfigProvider locale 配置到 overlay 弹窗 */ export declare function setOverlayLocale(locale: Locale): void; type OverlayConfig = { title?: string | VNode | (() => VNode); width?: number | string; /** Modal body 区域样式(如 `maxHeight` + `overflow`),由 `open(config, …)` 传入 */ bodyStyle?: Record; /** * Modal 自带「确定」回调(与内容区 `submitSceneModal` 二选一优先执行本项) * 一般无需传,由内容组件 `defineExpose({ submitSceneModal })` 承接 */ onOk?: () => void | Promise; /** 透传至 Modal / Drawer(如 `footer: null` 关闭默认底栏,不传则走 antd 默认 footer) */ footer?: unknown; okText?: string; cancelText?: string; centered?: boolean; maskClosable?: boolean; keyboard?: boolean; placement?: 'top' | 'right' | 'bottom' | 'left'; maskStyle?: Record; }; type OverlayContentProps = { onOk?: (data?: unknown) => void; onCancel?: () => void; onMounted?: (instance: any) => void; [key: string]: unknown; }; export declare const useModal: (_Content: T) => (config?: OverlayConfig, contentProps?: OverlayContentProps) => void; export declare const useDrawer: (_Content: T) => (config?: OverlayConfig, contentProps?: OverlayContentProps) => void; export {};