export interface Toast { id: string; message: React.ReactNode; hideTime: Date; } export interface ToastProviderState { toast: Toast[]; hideToast: (id: string) => void; addToast: (message: ReactNode, duration?: number) => string; addSuccess: (message: ReactNode, duration?: number) => string; addWarning: (message: ReactNode, duration?: number) => string; addDanger: (message: ReactNode, duration?: number) => string; } export interface ToastProviderProps { className?: string; children: React.ReactNode; } export interface ToasterProps { toast: Toast[]; className?: string; }