import "./toast.css"; import type * as React from "react"; /** What a screen reports. Each verb queues one toast and returns nothing — * dismissal is the reader's (swipe, Escape) or the timer's. */ export interface ToastActions { success: (message: string) => void; error: (message: string) => void; warning: (message: string) => void; /** * A REMOVAL THAT ASKED NOTHING, and the way back from it. * * This is the other half of the confirm law: an act that is UNDOABLE — a * detach, a tick, a draft — does not earn a blocking dialog, and what makes * that safe is the offer on screen rather than the question before it. An act * the reader already confirmed reports with `success` and offers nothing back: * they have answered once, and a second way out says the first did not count. */ undo: (message: string, onUndo: () => void) => void; } /** Queue a toast from anywhere under `ToastProvider`. */ export declare function useToast(): ToastActions; export interface ToastProviderProps { children?: React.ReactNode; } /** * Mount once, around the app. It carries the queue and paints the viewport the * toasts stack in — a fixed strip centred at the top of the window, above every * overlay, because a toast reports the outcome of the very action an `Alert` * just confirmed. */ export declare function ToastProvider({ children }: ToastProviderProps): React.JSX.Element;