import { type JSX, type ReactNode } from 'react';
import { type ToastItem, type ToastKind } from './ToastViewport.js';
export type ToastApi = {
    push: (toast: Omit<ToastItem, 'id'> & {
        id?: string;
    }) => string;
    dismiss: (toastId: string) => void;
    clear: () => void;
    info: (title: ReactNode, message?: ReactNode) => string;
    warning: (title: ReactNode, message?: ReactNode) => string;
    error: (title: ReactNode, message?: ReactNode) => string;
};
export type ToastProviderProps = {
    children: ReactNode;
    maxToasts?: number;
};
export declare const __test: {
    readonly pushWithKind: (api: ToastApi, kind: ToastKind) => (title: ReactNode, message?: ReactNode) => string;
};
export declare const ToastProvider: ({ children, maxToasts, }: ToastProviderProps) => JSX.Element;
export declare const useToast: () => ToastApi;
//# sourceMappingURL=ToastProvider.d.ts.map