import React from 'react';
import type { BaseToastOptions } from './types';
export { DURATION } from './const';
export { Action, Icon, Outer, Text, ToastConfigProvider } from './Toast';
export type { ToastType, BaseToastOptions } from './types';
/**
 * Toasts are rendered in a global outlet, which is placed at the top of the
 * component tree.
 */
export declare function ToastOutlet(): import("react/jsx-runtime").JSX.Element;
/**
 * Direct access to the Sonner API. Use sparingly — `toast()` covers the
 * common case and keeps the surface tied to bloom's themed look.
 */
export declare const api: ((message: string, data?: Omit<import("sonner-native").ToastProps, "title" | "id" | "type" | "variant" | "jsx" | "promise"> & {
    id?: string | number;
}) => string | number) & {
    success: (message: string, data?: Omit<import("sonner-native").ToastProps, "title" | "id" | "type" | "variant" | "jsx" | "promise"> & {
        id?: string | number;
    }) => string | number;
    info: (message: string, data?: Omit<import("sonner-native").ToastProps, "title" | "id" | "type" | "variant" | "jsx" | "promise"> & {
        id?: string | number;
    }) => string | number;
    error: (message: string, data?: Omit<import("sonner-native").ToastProps, "title" | "id" | "type" | "variant" | "jsx" | "promise"> & {
        id?: string | number;
    }) => string | number;
    warning: (message: string, data?: Omit<import("sonner-native").ToastProps, "title" | "id" | "type" | "variant" | "jsx" | "promise"> & {
        id?: string | number;
    }) => string | number;
    custom: (jsx: React.ReactElement, data?: Omit<import("sonner-native").ToastProps, "title" | "id" | "type" | "variant" | "jsx" | "promise"> & {
        id?: string | number;
    }) => string | number;
    promise: <T>(promise: Promise<T>, options: Omit<{
        promise: Promise<unknown>;
        success: (result: any) => string;
        error: ((error: unknown) => string) | string;
        loading: string;
        styles?: {
            loading?: import("sonner-native").ToastStyles;
            success?: import("sonner-native").ToastStyles;
            error?: import("sonner-native").ToastStyles;
        };
    }, "promise">) => string | number;
    loading: (message: string, data?: Omit<import("sonner-native").ToastProps, "title" | "id" | "type" | "variant" | "jsx" | "promise"> & {
        id?: string | number;
    }) => string | number;
    dismiss: (id?: string | number) => string | number | undefined;
    wiggle: (id: string | number) => void;
};
/**
 * Show a toast notification.
 *
 * Pass a string for a simple text toast, or a React element for a custom
 * toast. The optional `options` argument accepts the standard Sonner
 * options plus a bloom `type` (defaults to `'default'`).
 *
 * ```ts
 * toast('Saved');
 * toast.success('Profile updated');
 * toast.error('Network error', { duration: 5000 });
 * toast.dismiss(id);
 * ```
 *
 * Pre-typed variants (`toast.success`, `toast.error`, `toast.warning`,
 * `toast.info`) are aliases for the corresponding `type`.
 */
export interface ToastFn {
    (content: React.ReactNode, options?: BaseToastOptions): void;
    success: (content: React.ReactNode, options?: Omit<BaseToastOptions, 'type'>) => void;
    error: (content: React.ReactNode, options?: Omit<BaseToastOptions, 'type'>) => void;
    warning: (content: React.ReactNode, options?: Omit<BaseToastOptions, 'type'>) => void;
    info: (content: React.ReactNode, options?: Omit<BaseToastOptions, 'type'>) => void;
    dismiss: (id?: string | number) => void;
}
export declare const toast: ToastFn;
/**
 * Alias of `toast` kept for compatibility with the original 0.4.x surface
 * where `show()` was the documented entry point. New code should prefer
 * `toast()` directly.
 */
export declare const show: ToastFn;
/** Re-export the Toast function type so callers can refer to it. */
export type Toast = ToastFn;
//# sourceMappingURL=index.d.ts.map