import { VueNode as VueNode$1 } from "../_util/type.js";
import { ArgsClassNamesType, ArgsStylesType, MessageSemanticClassNames, MessageSemanticStyles, NoticeType } from "./interface.js";
import * as vue37 from "vue";

//#region src/message/PurePanel.d.ts
interface PureContentProps {
  prefixCls: string;
  type?: NoticeType;
  icon?: VueNode$1;
  classNames?: MessageSemanticClassNames;
  styles?: MessageSemanticStyles;
}
declare const TypeIcon: Record<NoticeType, any>;
/**
 * Mirrors ant-design 6.4 `getMessageIcon`. Returns a renderable icon vnode for
 * the type, allowing a custom `icon` to take precedence. The notice element
 * wraps it with `${prefixCls}-notice-icon`, so the returned vnode does NOT
 * need the `${prefixCls}-icon` class anymore.
 */
declare function resolveMessageIcon(_prefixCls: string, icon: VueNode$1 | undefined, type: NoticeType | undefined): VueNode$1;
declare const PureContent: vue37.DefineSetupFnComponent<PureContentProps, {}, {}, PureContentProps & {}, vue37.PublicProps>;
interface PurePanelProps extends Omit<PureContentProps, 'prefixCls' | 'children' | 'classNames' | 'styles'> {
  content?: VueNode$1;
  duration?: number | false | null;
  showProgress?: boolean;
  pauseOnHover?: boolean;
  closable?: boolean | ({
    closeIcon?: VueNode$1;
    onClose?: VoidFunction;
  } & Record<string, any>);
  closeIcon?: VueNode$1;
  props?: Record<string, any>;
  onClose?: VoidFunction;
  onClick?: (event: Event) => void;
  prefixCls?: string;
  class?: string;
  classes?: ArgsClassNamesType;
  styles?: ArgsStylesType;
}
/** @private Internal Component. Do not use in your production. */
declare const PurePanel: vue37.DefineSetupFnComponent<PurePanelProps, {}, {}, PurePanelProps & {}, vue37.PublicProps>;
//#endregion
export { PureContent, PureContentProps, PurePanelProps, TypeIcon, PurePanel as default, resolveMessageIcon };