import { type ReactElement } from "react";
import { type ConfigurableToastProps } from "./Toast.js";
import { type ToastMeta } from "./ToastManager.js";
/**
 * @since 6.0.0
 */
export interface ToastRendererProps extends ConfigurableToastProps, ToastMeta {
    /**
     * Optional props that should be passed to each `Toast` from the `Snackbar`.
     * This is a great way to enforce each toast having a close button, a custom
     * class name, theme, etc.
     */
    toastDefaults?: ConfigurableToastProps;
}
/**
 * **Client Component**
 *
 * This is the default implementation for rendering toasts that will:
 *
 * - controls the visibility of the toast with the {@link useToast} hook
 * - add a `closeButton` if the {@link ToastRendererProps.toastDefaults} has
 *   `closeButton === true` or the `closeButtonProps` exists.
 * - add a `closeButton` if the `visibleTime` is `null` and the current toast
 *   does not have an `action` or `actionButton`
 * - ensures both the toast's `onEntered` and the {@link ToastRendererProps.toastDefaults}'s
 *   `onEntered` are called
 * - ensures both the toast's `onExited` and the {@link ToastRendererProps.toastDefaults}'s
 *   `onExited` are called
 * - always renders the {@link ToastRendererProps.toastDefaults}'s `children`
 *   'after the optional toast's `children`
 *
 * @since 6.0.0
 */
export declare function DefaultToastRenderer(props: ToastRendererProps): ReactElement;
