import * as React from 'react'; import { MessageArgsProps } from 'antd'; import './style/index.less'; declare type NoticeType = 'info' | 'success' | 'error' | 'warning' | 'loading' | 'mess'; declare type ConfigDuration = number | null; declare type ConfigContent = React.ReactNode | string; declare type JointContent = ConfigContent | MessageArgsProps; declare type ConfigOnClose = () => void; interface MessageType extends PromiseLike { (): void; } interface ArgsProps { content: React.ReactNode; duration: number | null; type: NoticeType; prefixCls?: string; rootPrefixCls?: string; onClose?: () => void; icon?: React.ReactNode; key?: string | number; style?: React.CSSProperties; className?: string; onClick?: (e: React.MouseEvent) => void; } interface ConfigOptions { top?: number; duration?: number; prefixCls?: string; getContainer?: () => HTMLElement; transitionName?: string; maxCount?: number; rtl?: boolean; } interface MessageInstance { info(content: JointContent, duration?: ConfigDuration, onClose?: ConfigOnClose): MessageType; success(content: JointContent, duration?: ConfigDuration, onClose?: ConfigOnClose): MessageType; error(content: JointContent, duration?: ConfigDuration, onClose?: ConfigOnClose): MessageType; warning(content: JointContent, duration?: ConfigDuration, onClose?: ConfigOnClose): MessageType; loading(content: JointContent, duration?: ConfigDuration, onClose?: ConfigOnClose): MessageType; mess(content: JointContent, duration?: ConfigDuration, onClose?: ConfigOnClose): MessageType; open(args: ArgsProps): MessageType; } interface MessageApi extends MessageInstance { warn(content: JointContent, duration?: ConfigDuration, onClose?: ConfigOnClose): MessageType; config(options: ConfigOptions): void; destroy(messageKey?: React.Key): void; useMessage(): [MessageInstance, React.ReactElement]; } declare const _default: MessageApi; export default _default;