import { type VNodeChild, type ExtractPropTypes, type PropType, type CSSProperties } from 'vue'; import type { ExtractPublicPropTypes } from '../../_utils'; import type { MessageOptions, MessageType } from './types'; type ContentType = string | (() => VNodeChild); export interface MessageApiInjection { create: (content: ContentType, options?: MessageOptions) => MessageReactive; info: (content: ContentType, options?: MessageOptions) => MessageReactive; success: (content: ContentType, options?: MessageOptions) => MessageReactive; warning: (content: ContentType, options?: MessageOptions) => MessageReactive; error: (content: ContentType, options?: MessageOptions) => MessageReactive; loading: (content: ContentType, options?: MessageOptions) => MessageReactive; destroyAll: () => void; } export interface MessageReactive { content?: ContentType; duration?: number; closable?: boolean; keepAliveOnHover?: boolean; type: MessageType; icon?: () => VNodeChild; showIcon?: boolean; onClose?: () => void; destroy: () => void; } interface PrivateMessageRef extends MessageReactive { key: string; hide: () => void; } export type MessageProviderInst = MessageApiInjection; export declare const messageProviderProps: { to: PropType; duration: { type: NumberConstructor; default: number; }; keepAliveOnHover: BooleanConstructor; max: NumberConstructor; placement: { type: PropType<"top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right">; default: string; }; closable: BooleanConstructor; containerClass: StringConstructor; containerStyle: PropType; theme: PropType>; themeOverrides: PropType>>; builtinThemeOverrides: PropType>>; }; export type MessageProviderProps = ExtractPublicPropTypes; export type MessageProviderSetupProps = ExtractPropTypes; declare const _default: import("vue").DefineComponent<{ to: PropType; duration: { type: NumberConstructor; default: number; }; keepAliveOnHover: BooleanConstructor; max: NumberConstructor; placement: { type: PropType<"top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right">; default: string; }; closable: BooleanConstructor; containerClass: StringConstructor; containerStyle: PropType; theme: PropType>; themeOverrides: PropType>>; builtinThemeOverrides: PropType>>; }, { mergedClsPrefix: import("vue").Ref; messageRefs: import("vue").Ref>; messageList: import("vue").Ref<{ key: string; content?: ContentType | undefined; duration?: number | undefined; closable?: boolean | undefined; keepAliveOnHover?: boolean | undefined; type: MessageType; icon?: (() => VNodeChild) | undefined; showIcon?: boolean | undefined; onClose?: (() => void) | undefined; destroy: () => void; }[]>; handleAfterLeave: (key: string) => void; } & MessageApiInjection, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; duration: { type: NumberConstructor; default: number; }; keepAliveOnHover: BooleanConstructor; max: NumberConstructor; placement: { type: PropType<"top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right">; default: string; }; closable: BooleanConstructor; containerClass: StringConstructor; containerStyle: PropType; theme: PropType>; themeOverrides: PropType>>; builtinThemeOverrides: PropType>>; }>>, { duration: number; closable: boolean; placement: "top" | "bottom" | "top-left" | "top-right" | "bottom-left" | "bottom-right"; keepAliveOnHover: boolean; }, {}>; export default _default;