import type { ReactNode, Ref } from "react";
export type ToastVariant = "neutral" | "success" | "warning" | "danger";
export interface ToastProps {
/** Status variant. @default "neutral" */
variant?: ToastVariant;
/** The message. */
children: ReactNode;
/** Trailing affordance — a ghost Button (Undo, Retry, View). */
action?: ReactNode;
/** When provided, renders the dismiss button and calls this. Toast does not
* remove itself; the owner disposes. */
onDismiss?: () => void;
className?: string;
/** Forwarded ref to the underlying `
`. */
ref?: Ref;
}
/** A single transient notification card (D64). Controlled and presentational:
* it holds no state, runs no timer, and never removes itself — `onDismiss`
* reports and the owner disposes, exactly as Dialog (D50) and Menu (D53) do.
*
* Toast does not carry its own `role`/`aria-live`. Politeness belongs to the
* two persistent wrappers inside ToastRegion, because a live region must
* pre-exist the content it announces; a role on the toast itself would
* reintroduce the mount-with-content problem one level down.
*
* Composed by hand with ToastRegion for full control, or driven by
* ToastProvider's queue. */
export declare function Toast({ variant, children, action, onDismiss, className, ref, }: ToastProps): import("react").JSX.Element;
//# sourceMappingURL=Toast.d.ts.map