import * as React from 'react';
import { ToastEntry, ToastManagerAPI, ToastVariant } from '../toast/index.js';
export { ToastEntry, ToastManagerAPI, ToastVariant, toastVariants } from '../toast/index.js';

interface ToastContextValue {
    manager: ToastManagerAPI;
}
interface ToastProviderProps {
    children?: React.ReactNode;
}
declare function ToastProvider({ children }: ToastProviderProps): React.FunctionComponentElement<React.ProviderProps<ToastContextValue | null>>;
declare namespace ToastProvider {
    var displayName: string;
}
interface UseToastReturn {
    /** Show a new toast */
    toast: (message: string, opts?: {
        variant?: ToastVariant;
        duration?: number;
    }) => string;
    /** Dismiss a toast by id */
    dismiss: (id: string) => void;
    /** Current toast entries */
    toasts: ReadonlyArray<ToastEntry>;
}
declare function useToast(): UseToastReturn;
interface ToastProps extends React.HTMLAttributes<HTMLDivElement> {
    entry: ToastEntry;
    onDismiss?: (id: string) => void;
}
declare const Toast: React.ForwardRefExoticComponent<ToastProps & React.RefAttributes<HTMLDivElement>>;
interface ToasterProps extends React.HTMLAttributes<HTMLDivElement> {
}
declare const Toaster: React.ForwardRefExoticComponent<ToasterProps & React.RefAttributes<HTMLDivElement>>;

export { Toast, type ToastProps, ToastProvider, type ToastProviderProps, Toaster, type ToasterProps, type UseToastReturn, useToast };
