import * as React from 'react'; import type { ToastProps } from './Toast'; type ToasterToast = ToastProps & { id: string; title?: string; description?: string | React.ReactNode; action?: string; actionHref?: string; }; 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[]; } export 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; update: (toast: Partial) => void; toasts: ToasterToast[]; }; export { useToast, toast };