import * as React from 'react'; import { Toast as BaseToast } from '@base-ui/react/toast'; import { type VariantProps } from 'class-variance-authority'; import { buttonVariants } from '../button/button-variants'; type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right'; interface ToastProviderProps extends BaseToast.Provider.Props { } declare function ToastProvider(props: ToastProviderProps): React.JSX.Element; interface ToasterProps extends Omit { /** * Where the stack is anchored; also sets the default swipe-to-dismiss directions. * @default 'bottom-right' */ position?: ToastPosition; /** * Opt in to a countdown progress bar on auto-dismissing toasts. * @default false */ progress?: boolean; /** * Provider default (ms) used to size the progress bar for toasts that don't set their own `timeout`. Match your * `ToastProvider`'s `timeout`. * @default 5000 */ timeout?: number; /** * Portal target - scope the toasts to a specific element. * @default document.body */ container?: React.ComponentProps['container']; /** Escape hatch forwarded to the underlying `Toast.Portal`. */ portalProps?: Omit, 'children'>; } declare function Toaster({ position, progress, timeout, className, container, portalProps, ...viewportProps }: ToasterProps): React.JSX.Element; interface ToastViewportProps extends BaseToast.Viewport.Props { position?: ToastPosition; } declare function ToastViewport({ position: positionProp, className, ...props }: ToastViewportProps): React.JSX.Element; interface ToastProps extends Omit { position?: ToastPosition; dismissible?: boolean; progress?: boolean; providerTimeout?: number; closeLabel?: string; swipeDirection?: BaseToast.Root.Props['swipeDirection']; } declare function Toast({ position: positionProp, dismissible, progress, providerTimeout, closeLabel, swipeDirection, toast, className, children, ...props }: ToastProps): React.JSX.Element; interface ToastIconProps extends React.HTMLAttributes { } declare function ToastIcon({ className, ...props }: ToastIconProps): React.JSX.Element; interface ToastTitleProps extends BaseToast.Title.Props { } declare function ToastTitle({ className, ...props }: ToastTitleProps): React.JSX.Element; interface ToastDescriptionProps extends BaseToast.Description.Props { } declare function ToastDescription({ className, ...props }: ToastDescriptionProps): React.JSX.Element; interface ToastActionsProps extends React.HTMLAttributes { } declare function ToastActions({ className, ...props }: ToastActionsProps): React.JSX.Element; interface ToastActionProps extends BaseToast.Action.Props, VariantProps { } declare function ToastAction({ className, variant, size, ...props }: ToastActionProps): React.JSX.Element; interface ToastCloseProps extends BaseToast.Close.Props { closeLabel?: string; } declare function ToastClose({ className, closeLabel, children, ...props }: ToastCloseProps): React.JSX.Element; interface ToastProgressProps extends Omit, 'style'> { timeout: number; } declare function ToastProgress({ timeout, className, ...props }: ToastProgressProps): React.JSX.Element; type ToastPortalProps = React.ComponentProps; declare function ToastPortal(props: ToastPortalProps): React.JSX.Element; declare const useToastManager: typeof BaseToast.useToastManager; declare const createToastManager: typeof BaseToast.createToastManager; export { ToastProvider, Toaster, ToastViewport, ToastPortal, Toast, ToastIcon, ToastTitle, ToastDescription, ToastActions, ToastAction, ToastClose, ToastProgress, useToastManager, createToastManager, }; export type { ToastProviderProps, ToasterProps, ToastViewportProps, ToastPortalProps, ToastProps, ToastIconProps, ToastTitleProps, ToastDescriptionProps, ToastActionsProps, ToastActionProps, ToastCloseProps, ToastProgressProps, ToastPosition, }; //# sourceMappingURL=toast.d.ts.map