import type { CSSProperties, DefineComponent, ExtractPropTypes, PropType, Ref, VNodeChild } from 'vue'; import type { ExtractPublicPropTypes, Mutable } from '../../_utils'; import type { modalProps } from './Modal'; export type ModalOptions = Mutable>, 'internalStyle'> & { class?: any; style?: string | CSSProperties; render?: () => VNodeChild; }>; export type ModalReactive = { readonly key: string; readonly destroy: () => void; } & ModalOptions; export interface ModalApiInjection { destroyAll: () => void; create: (options: ModalOptions) => ModalReactive; } export interface ModalProviderInjection { clickedRef: Ref; clickedPositionRef: Ref<{ x: number; y: number; } | null>; } export type ModalReactiveListInjection = Ref; export type ModalProviderInst = ModalApiInjection; export declare const modalProviderProps: { to: PropType; }; export type ModalProviderProps = ExtractPublicPropTypes; export declare const NModalProvider: DefineComponent<{ to?: string | HTMLElement; }>;