import React, { type ReactElement } from "react"; import { type IconSubComponentProps } from "@vibe/icon"; import { type ToastType, type ToastAction } from "./Toast.types"; import { type VibeComponentProps } from "../../types"; export interface ToastProps extends VibeComponentProps { /** * The actions available in the toast. */ actions?: ToastAction[]; /** * If true, the toast is open (visible). */ open?: boolean; /** * If true, displays a loading indicator inside the toast. */ loading?: boolean; /** * The type of toast. */ type?: ToastType; /** * The icon displayed in the toast. */ icon?: string | React.FC | null; /** * If true, hides the toast icon. */ hideIcon?: boolean; /** * The action element displayed in the toast. */ action?: JSX.Element; /** * If false, hides the close button. */ closeable?: boolean; /** * Callback fired when the toast is closed. */ onClose?: () => void; /** * The number of milliseconds before the toast automatically closes. * (0 or null disables auto-close behavior). */ autoHideDuration?: number; /** * The content displayed inside the toast. */ children?: ReactElement | ReactElement[] | string; /** * The aria-label for the close button. */ closeButtonAriaLabel?: string; } declare const Toast: ({ open, loading, autoHideDuration, type, icon, hideIcon, action: deprecatedAction, actions, children, closeable, onClose, className, id, closeButtonAriaLabel, "data-testid": dataTestId }: ToastProps) => React.JSX.Element; export default Toast;