import { ComponentPropsWithoutRef } from 'react';
import { ToastUpdateProps } from './types';
import { ToastProps } from './Toast';
import { ToastStackProps } from './ToastStack';
export type ToastEventType = {
    eventType: "add" | "update" | "dismiss" | "dismiss-all";
    toastCount: number;
    id?: string;
    toasterId?: string;
    toastProps?: ToastProps | ToastUpdateProps;
};
/**
 * Props for the Toaster component
 * @extends ComponentPropsWithoutRef<"div">
 * @extends Omit<ToastStackProps, "toasts">
 */
export type ToasterProps = ComponentPropsWithoutRef<"div"> & Omit<ToastStackProps, "toasts"> & {
    /**
     * When `true`, the toaster will not listen for custom events to add, update, or dismiss toasts.
     * Use this to prevent multiple toasters from displaying the same toasts.
     * @default false
     */
    disableEvents?: boolean;
    /**
     * Unique toaster id.
     */
    id: string;
    /**
     * Callback function that is called when toasts are added, updated, or dismissed.
     */
    onToastEvent?: (toastEvent: ToastEventType) => void;
};
/**
 * Toaster component for managing and displaying toast notifications.
 *
 * Features:
 * - Manages multiple toast notifications in a stack
 * - Handles toast positioning and stacking behavior
 * - Supports custom events for toast management
 * - Automatic toast dismissal with configurable duration
 * - Keyboard navigation and accessibility support
 * - Dialog-aware positioning for modal contexts
 * - Session storage for dialog toaster state
 * - Custom event system for toast lifecycle management
 * - Responsive design with mobile support
 *
 * @example
 * <Toaster
 *   id="main-toaster"
 *   duration={5000}
 *   toastsBeforeStack={3}
 *   onToastEvent={(event) => console.log('Toast event:', event)}
 * />
 *
 * @example
 * <Toaster
 *   id="dialog-toaster"
 *   disableEvents={false}
 *   focusKey="t"
 * />
 */
export declare const ToasterContent: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & Omit<ToastStackProps, "toasts"> & {
    /**
     * When `true`, the toaster will not listen for custom events to add, update, or dismiss toasts.
     * Use this to prevent multiple toasters from displaying the same toasts.
     * @default false
     */
    disableEvents?: boolean;
    /**
     * Unique toaster id.
     */
    id: string;
    /**
     * Callback function that is called when toasts are added, updated, or dismissed.
     */
    onToastEvent?: (toastEvent: ToastEventType) => void;
} & import('react').RefAttributes<HTMLDivElement>>;
export declare const Toaster: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & Omit<ToastStackProps, "toasts"> & {
    /**
     * When `true`, the toaster will not listen for custom events to add, update, or dismiss toasts.
     * Use this to prevent multiple toasters from displaying the same toasts.
     * @default false
     */
    disableEvents?: boolean;
    /**
     * Unique toaster id.
     */
    id: string;
    /**
     * Callback function that is called when toasts are added, updated, or dismissed.
     */
    onToastEvent?: (toastEvent: ToastEventType) => void;
} & import('react').RefAttributes<HTMLDivElement>>;
