import React from "react";
export interface ToastData {
    id: string;
    title?: string;
    description?: string;
    type?: "success" | "error" | "warning" | "info";
    duration?: number;
    action?: {
        label: string;
        onClick: () => void;
    };
    onClose?: () => void;
}
export interface GlassToastProps extends ToastData, Omit<React.HTMLAttributes<HTMLDivElement>, keyof ToastData> {
    /**
     * Callback when toast is dismissed
     */
    onDismiss?: (id: string) => void;
}
export interface GlassToastProviderProps {
    /**
     * Children
     */
    children: React.ReactNode;
    /**
     * Default toast duration (ms)
     */
    duration?: number;
    /**
     * Maximum number of toasts to show
     */
    maxToasts?: number;
    /**
     * Toast position
     */
    position?: "top-left" | "top-right" | "bottom-left" | "bottom-right" | "top-center" | "bottom-center";
}
export interface GlassToastViewportProps {
    /**
     * Custom className
     */
    className?: string;
    /**
     * Hotkey to focus viewport
     */
    hotkey?: string[];
}
export interface GlassToastActionProps {
    /**
     * Action content
     */
    children: React.ReactNode;
    /**
     * Action className
     */
    className?: string;
}
export declare const useToast: () => {
    toasts: ToastData[];
    addToast: (toast: Omit<ToastData, "id">) => string;
    removeToast: (id: string) => void;
    updateToast: (id: string, updates: Partial<ToastData>) => void;
};
/**
 * GlassToast component
 * Individual toast notification
 */
export declare const GlassToast: React.FC<GlassToastProps>;
/**
 * GlassToastProvider component
 * Provides toast context and manages toast state
 */
export declare const GlassToastProvider: React.FC<GlassToastProviderProps>;
/**
 * GlassToastViewport component
 * Container for displaying toasts
 */
export declare const GlassToastViewport: React.FC<GlassToastViewportProps & {
    position?: GlassToastProviderProps["position"];
}>;
/**
 * GlassToastAction component
 * Action button for toast
 */
export declare const GlassToastAction: React.FC<GlassToastActionProps & {
    onClick?: () => void;
}>;
/**
 * Hook for creating different types of toasts
 */
export declare const useToastActions: () => {
    success: (title: string, description?: string, options?: Partial<ToastData>) => string;
    error: (title: string, description?: string, options?: Partial<ToastData>) => string;
    warning: (title: string, description?: string, options?: Partial<ToastData>) => string;
    info: (title: string, description?: string, options?: Partial<ToastData>) => string;
    custom: (toast: Omit<ToastData, "id">) => string;
};
//# sourceMappingURL=GlassToast.d.ts.map