import type { JSX, ReactNode } from "react"; import { type ToastVariant } from "./toast.js"; interface ToastDescriptor { id: string; title?: ReactNode; description?: ReactNode; variant?: ToastVariant; /** Auto-dismiss in ms. Default 5000. Pass `null` for sticky. */ duration?: number | null; action?: { label: ReactNode; onClick: () => void; }; } interface ToastContextValue { toast: (descriptor: Omit) => string; dismiss: (id: string) => void; } interface ToasterProps { children: ReactNode; /** Toast viewport position. Default bottom-right. */ position?: "top-right" | "top-left" | "bottom-right" | "bottom-left"; className?: string; } /** * Toaster — mount once at the app root. Wraps children in a Radix Toast * Provider + Viewport and exposes the `useToast()` hook for descendants. */ declare function Toaster({ children, position, className }: ToasterProps): JSX.Element; /** * useToast — fire toasts from anywhere inside . * * Example: * const { toast } = useToast(); * toast({ title: "Deployed", variant: "success" }); */ declare function useToast(): ToastContextValue; export { Toaster, useToast };