import type { ToastType, Position, SwipeDirection, Toast, ToastOptions } from "./toast.js"; type Theme = "light" | "dark" | "system"; type Direction = "ltr" | "rtl" | "auto"; type OffsetValue = string | number | Partial>; export interface PromiseData { loading?: string; success?: string | ((data: T) => string); error?: string | ((error: unknown) => string); description?: string | ((data: unknown) => string); finally?: () => void; } export interface ToasterConfig { position: Position; theme: Theme; richColors: boolean; expand: boolean; closeButton: boolean; invert: boolean; duration: number; gap: number; visibleToasts: number; offset: OffsetValue; mobileOffset: OffsetValue; dir: Direction; hotkey: string[]; containerAriaLabel: string; swipeDirections: SwipeDirection[] | null; flushDelay: number; burstWindow: number; burstLinger: number; } export interface ConfigureOptions { position?: Position; theme?: Theme; richColors?: boolean; expand?: boolean; closeButton?: boolean; invert?: boolean; duration?: number; gap?: number; visibleToasts?: number; offset?: OffsetValue; mobileOffset?: OffsetValue; dir?: Direction; hotkey?: string[]; containerAriaLabel?: string; swipeDirections?: SwipeDirection[] | null; flushDelay?: number; burstWindow?: number; burstLinger?: number; } export interface ToastFunction { (msg: string, data?: ToastOptions): number; (data: ToastOptions): number; message: (msg: string, data?: ToastOptions) => number; success: (msg: string, data?: ToastOptions) => number; info: (msg: string, data?: ToastOptions) => number; warning: (msg: string, data?: ToastOptions) => number; error: (msg: string, data?: ToastOptions) => number; loading: (msg: string, data?: ToastOptions) => number; promise: (p: Promise | (() => Promise), data: PromiseData) => number | undefined; dismiss: (id?: number) => number | undefined | null; configure: (opts: ConfigureOptions) => void; reset: () => void; destroy: () => void; getToasts: () => Toast[]; } export declare const DEFAULTS: ToasterConfig; export declare const LEVELS: Set; export declare const LEVEL_MAP: Record; export declare class SonnerToaster { #private; constructor(root: ShadowRoot); get flushDelay(): number; handleVisibilityChange(hidden: boolean): void; handleKeydown(e: KeyboardEvent, activeElement: Element | null): void; handleThemeChange(isDark: boolean): void; get usesSystemTheme(): boolean; applyAttribute(name: string, value: string | null): void; configure(opts: ConfigureOptions): void; reset(): void; destroy(): void; getToasts(): Toast[]; add(level: ToastType, message: string | ToastOptions, options?: ToastOptions): number; dismiss(id?: number | null): number | undefined | null; promise(promise: Promise | (() => Promise), data: PromiseData): number | undefined; flushChildToasts(children: NodeListOf): void; } export {};