import type { Toast, ToastConfig } from './types';
export declare class ToastManager {
    private static instance;
    private toasts;
    private subscribers;
    private container;
    private config;
    private debounceTimers;
    private toastHashes;
    private constructor();
    static getInstance(config?: ToastConfig): ToastManager;
    initialize(): void;
    add(toast: Omit<Toast, 'id' | 'timestamp'>): string;
    remove(id: string): void;
    clear(): void;
    subscribe(callback: (toasts: Toast[]) => void): () => void;
    private enforceMaxVisible;
    private notify;
    private generateId;
    private hashToast;
    private findDuplicateToast;
    private updateToast;
}
export declare const toast: {
    success: (title: string, options?: Partial<Toast>) => string;
    error: (title: string, options?: Partial<Toast>) => string;
    warning: (title: string, options?: Partial<Toast>) => string;
    info: (title: string, options?: Partial<Toast>) => string;
    loading: (title: string, options?: Partial<Toast>) => string;
    promise: <T>(promise: Promise<T>, messages: {
        loading: string;
        success: string;
        error: string;
    }) => Promise<T>;
};
//# sourceMappingURL=ToastManager.d.ts.map