/**
 * Toast Notifications System
 *
 * Provides non-intrusive feedback for user actions:
 * - Success, error, warning, info toasts
 * - Auto-dismiss with configurable timeout
 * - Stack multiple notifications
 * - Animations and visual feedback
 */
import React from 'react';
/**
 * Toast types
 */
export type ToastType = 'success' | 'error' | 'warning' | 'info';
/**
 * Toast data structure
 */
export interface Toast {
    id: string;
    type: ToastType;
    message: string;
    duration?: number;
    createdAt: number;
}
/**
 * Props for ToastNotifications
 */
interface ToastNotificationsProps {
    /** Maximum number of toasts to show at once */
    maxToasts?: number;
    /** Default duration in ms (0 = no auto-dismiss) */
    defaultDuration?: number;
    /** Position of toast stack */
    position?: 'top' | 'bottom';
}
/**
 * Toast Notifications Manager Component
 */
export declare function ToastNotifications({ maxToasts, defaultDuration: _defaultDuration, position, }: ToastNotificationsProps): React.JSX.Element | null;
/**
 * Toast Manager Hook
 *
 * Provides imperative API to show toasts
 */
export declare function useToastManager(): {
    toasts: Toast[];
    showToast: (type: ToastType, message: string, duration?: number) => string;
    dismissToast: (id: string) => void;
    clearAllToasts: () => void;
    success: (message: string, duration?: number) => string;
    error: (message: string, duration?: number) => string;
    warning: (message: string, duration?: number) => string;
    info: (message: string, duration?: number) => string;
};
interface ToastContextValue {
    showToast: (type: ToastType, message: string, duration?: number) => string;
    dismissToast: (id: string) => void;
    clearAllToasts: () => void;
    success: (message: string, duration?: number) => string;
    error: (message: string, duration?: number) => string;
    warning: (message: string, duration?: number) => string;
    info: (message: string, duration?: number) => string;
}
/**
 * Toast Provider Component
 */
export declare function ToastProvider({ children }: {
    children: React.ReactNode;
}): React.JSX.Element;
/**
 * Hook to access toast functionality
 */
export declare function useToast(): ToastContextValue;
export default ToastNotifications;
