import type { Snippet } from 'svelte'; export type ToastVariant = 'info' | 'success' | 'warning' | 'error'; export type ToastrPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right'; export type ToastrOptions = { /** Secondary line under the message. */ description?: string; /** Auto-dismiss delay in ms. `0` keeps the toast until manually dismissed. @default 4000 */ duration?: number; /** Routes the toast to a specific ``. Empty string targets the default container. @default '' */ containerId?: string; /** Show the X close button. @default true */ closable?: boolean; /** Swipe-to-dismiss enabled. @default true */ swipeable?: boolean; /** Fires when the toast body is clicked (excludes close button and other interactive children). Does NOT auto-dismiss — call `Toastr.dismiss(id)` from the callback if needed. */ onClick?: () => void; }; export type Toast = { id: number; variant: ToastVariant; message: string | Snippet; description?: string; duration: number; closable: boolean; swipeable: boolean; onClick?: () => void; };