import * as React from 'react'; import { ToastProps, ToastActionElement } from './toast.js'; import 'class-variance-authority/dist/types'; import '@radix-ui/react-toast'; import 'class-variance-authority'; type ToasterToast = ToastProps & { id: string; title?: React.ReactNode; description?: React.ReactNode; action?: ToastActionElement; }; declare const actionTypes: { readonly ADD_TOAST: "ADD_TOAST"; readonly UPDATE_TOAST: "UPDATE_TOAST"; readonly DISMISS_TOAST: "DISMISS_TOAST"; readonly REMOVE_TOAST: "REMOVE_TOAST"; }; type ActionType = typeof actionTypes; type Action = { type: ActionType["ADD_TOAST"]; toast: ToasterToast; } | { type: ActionType["UPDATE_TOAST"]; toast: Partial; } | { type: ActionType["DISMISS_TOAST"]; toastId?: ToasterToast["id"]; } | { type: ActionType["REMOVE_TOAST"]; toastId?: ToasterToast["id"]; }; interface State { toasts: ToasterToast[]; } declare const reducer: (state: State, action: Action) => State; type Toast = Omit; declare function toast({ ...props }: Toast): { id: string; dismiss: () => void; update: (props: ToasterToast) => void; }; declare function useToast(): { toast: typeof toast; dismiss: (toastId?: string) => void; toasts: ToasterToast[]; }; export { reducer, toast, useToast };