import { PropType } from 'vue'; import { Icon } from '@wikimedia/codex-icons'; import { StatusType } from '../../types'; /** * A message that provides system feedback to the user. */ declare const _default: import("vue").DefineComponent; default: string; validator: import("../../types").StringTypeValidator<"notice" | "warning" | "error" | "success">; }; /** * Whether this message follows the inline design (no padding, background color, or border). */ inline: { type: BooleanConstructor; default: boolean; }; /** * Custom message icon. Only allowed for notice messages. */ icon: { type: PropType; default: null; }; /** * Whether the message should fade in. Should be used for messages that are dynamically * displayed, not present on page load. */ fadeIn: { type: BooleanConstructor; default: boolean; }; /** * Allow the message to be dismissed by the user. Adds an icon-only dismiss button. */ allowUserDismiss: { type: BooleanConstructor; default: boolean; }; /** * Visually-hidden label text for the dismiss button for user-dismissable messages. * * Omit this prop to use the default value, "Close". */ dismissButtonLabel: { type: StringConstructor; default: string; validator: (value: string, props: { [x: string]: unknown; }) => boolean; }; /** * Enable automatic dismissal of message after a period of time. * * This prop can be set to `true` to use the default display time of 4000 milliseconds. To * customize the display time, set this prop to a number of milliseconds. * * Error messages cannot be automatically dismissed. If the `type` prop is set to `error`, * this prop will be ignored. * * TODO: consider adding a stricter validator to set limits on this. If the time is too * short, the message may not be readable. If the time is too long, the message probably * shouldn't be auto-dismissed. */ autoDismiss: { type: (BooleanConstructor | NumberConstructor)[]; default: boolean; validator: (value: unknown) => boolean; }; /** * Label text for the optional action button. */ actionButtonLabel: { type: StringConstructor; default: string; }; }>, { dismissed: import("vue").Ref; userDismissable: import("vue").ComputedRef; translatedDismissButtonLabel: import("vue").ComputedRef; rootClasses: import("vue").ComputedRef>; leaveActiveClass: import("vue").Ref; computedIcon: import("vue").ComputedRef; onDismiss: (eventName: "user-dismissed" | "auto-dismissed") => void; onActionButtonClick: () => void; cdxIconClose: string; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("action-button-click" | "user-dismissed" | "auto-dismissed")[], "action-button-click" | "user-dismissed" | "auto-dismissed", import("vue").PublicProps, Readonly; default: string; validator: import("../../types").StringTypeValidator<"notice" | "warning" | "error" | "success">; }; /** * Whether this message follows the inline design (no padding, background color, or border). */ inline: { type: BooleanConstructor; default: boolean; }; /** * Custom message icon. Only allowed for notice messages. */ icon: { type: PropType; default: null; }; /** * Whether the message should fade in. Should be used for messages that are dynamically * displayed, not present on page load. */ fadeIn: { type: BooleanConstructor; default: boolean; }; /** * Allow the message to be dismissed by the user. Adds an icon-only dismiss button. */ allowUserDismiss: { type: BooleanConstructor; default: boolean; }; /** * Visually-hidden label text for the dismiss button for user-dismissable messages. * * Omit this prop to use the default value, "Close". */ dismissButtonLabel: { type: StringConstructor; default: string; validator: (value: string, props: { [x: string]: unknown; }) => boolean; }; /** * Enable automatic dismissal of message after a period of time. * * This prop can be set to `true` to use the default display time of 4000 milliseconds. To * customize the display time, set this prop to a number of milliseconds. * * Error messages cannot be automatically dismissed. If the `type` prop is set to `error`, * this prop will be ignored. * * TODO: consider adding a stricter validator to set limits on this. If the time is too * short, the message may not be readable. If the time is too long, the message probably * shouldn't be auto-dismissed. */ autoDismiss: { type: (BooleanConstructor | NumberConstructor)[]; default: boolean; validator: (value: unknown) => boolean; }; /** * Label text for the optional action button. */ actionButtonLabel: { type: StringConstructor; default: string; }; }>> & Readonly<{ "onAction-button-click"?: ((...args: any[]) => any) | undefined; "onUser-dismissed"?: ((...args: any[]) => any) | undefined; "onAuto-dismissed"?: ((...args: any[]) => any) | undefined; }>, { icon: Icon; type: "notice" | "warning" | "error" | "success"; actionButtonLabel: string; inline: boolean; fadeIn: boolean; allowUserDismiss: boolean; dismissButtonLabel: string; autoDismiss: number | boolean; }, {}, { CdxButton: import("vue").DefineComponent; default: string; validator: import("../../types").StringTypeValidator<"default" | "progressive" | "destructive">; }; weight: { type: PropType; default: string; validator: import("../../types").StringTypeValidator<"normal" | "primary" | "quiet">; }; size: { type: PropType; default: string; validator: import("../../types").StringTypeValidator<"medium" | "large" | "small">; }; }>, { button: import("vue").Ref; rootClasses: import("vue").ComputedRef<{ [x: string]: boolean; 'cdx-button--framed': boolean; 'cdx-button--icon-only': boolean; 'cdx-button--is-active': boolean; }>; onClick: (event: Event) => void; onKeyDown: () => void; onKeyUp: () => void; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").PublicProps, Readonly; default: string; validator: import("../../types").StringTypeValidator<"default" | "progressive" | "destructive">; }; weight: { type: PropType; default: string; validator: import("../../types").StringTypeValidator<"normal" | "primary" | "quiet">; }; size: { type: PropType; default: string; validator: import("../../types").StringTypeValidator<"medium" | "large" | "small">; }; }>> & Readonly<{ onClick?: ((...args: any[]) => any) | undefined; }>, { size: "medium" | "large" | "small"; action: "default" | "progressive" | "destructive"; weight: "normal" | "primary" | "quiet"; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; CdxIcon: import("vue").DefineComponent; required: true; }; iconLabel: { type: StringConstructor; default: string; }; lang: { type: PropType; default: null; }; dir: { type: PropType; default: null; }; size: { type: PropType; default: string; validator: import("../../types").StringTypeValidator<"medium" | "small" | "x-small">; }; }>, { rootElement: import("vue").Ref; rootClasses: import("vue").ComputedRef<{ [x: string]: boolean; 'cdx-icon--flipped': boolean; }>; iconSvg: import("vue").ComputedRef; iconPath: import("vue").ComputedRef; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly; required: true; }; iconLabel: { type: StringConstructor; default: string; }; lang: { type: PropType; default: null; }; dir: { type: PropType; default: null; }; size: { type: PropType; default: string; validator: import("../../types").StringTypeValidator<"medium" | "small" | "x-small">; }; }>> & Readonly<{}>, { lang: string | null; iconLabel: string; dir: import("../../types").HTMLDirection | null; size: "medium" | "small" | "x-small"; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export default _default;