import type { ComponentProps } from '@fluentui/react-utilities'; import type { ComponentState } from '@fluentui/react-utilities'; import type { ForwardRefComponent } from '@fluentui/react-utilities'; import type { JSXElement } from '@fluentui/react-utilities'; import * as React_2 from 'react'; import { renderToastFooter_unstable as renderToastFooter } from '@fluentui/react-toast'; import type { Slot } from '@fluentui/react-utilities'; import type { ToastAnnounce } from '@fluentui/react-toast'; import type { ToastBaseState } from '@fluentui/react-toast'; import { ToastBodyBaseProps as ToastBodyProps } from '@fluentui/react-toast'; import { ToastBodySlots } from '@fluentui/react-toast'; import { ToastBodyBaseState as ToastBodyState } from '@fluentui/react-toast'; import { ToastChangeData } from '@fluentui/react-toast'; import { ToastChangeHandler } from '@fluentui/react-toast'; import type { ToastContainerContextValue } from '@fluentui/react-toast'; import type { ToastData } from '@fluentui/react-toast'; import { ToasterId } from '@fluentui/react-toast'; import type { ToasterProps as ToasterProps_2 } from '@fluentui/react-toast'; import type { ToasterState as ToasterState_2 } from '@fluentui/react-toast'; import { ToastFooterProps } from '@fluentui/react-toast'; import { ToastFooterSlots } from '@fluentui/react-toast'; import { ToastFooterState } from '@fluentui/react-toast'; import { ToastId } from '@fluentui/react-toast'; import { ToastImperativeRef } from '@fluentui/react-toast'; import { ToastIntent } from '@fluentui/react-toast'; import { ToastPoliteness } from '@fluentui/react-toast'; import { ToastPosition } from '@fluentui/react-toast'; import { ToastBaseProps as ToastProps } from '@fluentui/react-toast'; import { ToastSlots } from '@fluentui/react-toast'; import { ToastStatus } from '@fluentui/react-toast'; import { ToastTitleBaseProps as ToastTitleProps } from '@fluentui/react-toast'; import { ToastTitleSlots } from '@fluentui/react-toast'; import { ToastTitleBaseState as ToastTitleState } from '@fluentui/react-toast'; import { useToastBodyBase_unstable as useToastBody } from '@fluentui/react-toast'; import { useToastContainerContext } from '@fluentui/react-toast'; import { useToastController } from '@fluentui/react-toast'; import { useToastFooter_unstable as useToastFooter } from '@fluentui/react-toast'; import { useToastTitleBase_unstable as useToastTitle } from '@fluentui/react-toast'; /** * Render the final JSX of Toast */ export declare const renderToast: (state: ToastState) => JSXElement; /** * Renders the final JSX of the ToastBody component. */ export declare const renderToastBody: (state: ToastBodyState) => JSXElement; /** * Renders the final JSX of the ToastContainer component. */ export declare const renderToastContainer: (state: ToastContainerState, contextValues: ToastContainerContextValues) => JSXElement; /** * Render the position-based containers for the headless Toaster. * * Each container is a `
` that * consumers can target with CSS to apply positioning/styling. Containers use * the native Popover API to render in the browser top layer. */ export declare const renderToaster: (state: ToasterState) => JSXElement; export { renderToastFooter } export declare const renderToastTitle: (state: ToastTitleState) => JSXElement; /** * A Toast component displays temporary, non-intrusive notifications to users. * It's ideal for displaying brief messages, alerts, or feedback that auto-dismiss after a set duration. */ export declare const Toast: ForwardRefComponent; /** * Represents the body of a toast, which typically contains the main content of the toast message. */ export declare const ToastBody: ForwardRefComponent; export { ToastBodyProps } export { ToastBodySlots } export { ToastBodyState } export { ToastChangeData } export { ToastChangeHandler } /** * Wraps a Toast and provides context for its content and behavior. * * The ToastContainer should be rendered inside a Toaster, which manages the stacking and positioning of multiple ToastContainers. */ export declare const ToastContainer: ForwardRefComponent; export { ToastContainerContextValue } declare type ToastContainerContextValues = { toast: ToastContainerContextValue; }; export declare type ToastContainerProps = Omit>, 'content'> & ToastData & { visible: boolean; tryRestoreFocus: () => void; /** * Announcer used to narrate this toast's text content to screen readers. * Supplied by the parent `Toaster`; consumers do not need to pass this directly. */ announce?: ToastAnnounce; }; export declare type ToastContainerSlots = { root: NonNullable>; }; export declare type ToastContainerState = ComponentState & Pick & Pick & { running: boolean; nodeRef: React_2.Ref; }; /** * Toaster — subscribes to the event-driven toast state machine and renders * position-based slot containers. Each container is promoted to the browser * top layer via the native Popover API. * * Pair with useToastController from @fluentui/react-toast to dispatch and dismiss toasts imperatively. */ export declare const Toaster: { (props: ToasterProps): JSXElement; displayName: string; }; export { ToasterId } /** * Toaster Props * * Headless Toaster always uses the native Popover API to render in the browser * top layer — there is no `mountNode` prop and no `inline` opt-out. */ export declare type ToasterProps = Omit; /** * State used in rendering Toaster */ export declare type ToasterState = Omit; /** * ToastFooter contains action buttons related to the toast message. */ export declare const ToastFooter: ForwardRefComponent; export { ToastFooterProps } export { ToastFooterSlots } export { ToastFooterState } export { ToastId } export { ToastImperativeRef } export { ToastIntent } export { ToastPoliteness } export { ToastPosition } export { ToastProps } export { ToastSlots } export declare type ToastState = ToastBaseState & { root: { /** * Indicates the semantic intent or status of the toast notification, determining visual styling and messaging context. * Common values include: 'success', 'error', 'warning', 'info'. */ 'data-intent'?: string; }; }; export { ToastStatus } /** * Represents the title of a toast, which is a brief summary or headline for the toast message. */ export declare const ToastTitle: ForwardRefComponent; export { ToastTitleProps } export { ToastTitleSlots } export { ToastTitleState } /** * The `useToast` hook processes the props sent to `Toast` and returns state and slot props. */ export declare const useToast: (props: ToastProps, ref: React_2.Ref) => ToastState; export { useToastBody } /** * The `useToastContainer` hook processes the props sent to `ToastContainer` and returns state and slot props. */ export declare const useToastContainer: (props: ToastContainerProps, ref: React_2.Ref) => ToastContainerState; export { useToastContainerContext } export declare const useToastContainerContextValues: (state: ToastContainerState) => ToastContainerContextValues; export { useToastController } /** * Create the state required to render the Toaster. */ export declare const useToaster: (props: ToasterProps) => ToasterState; export { useToastFooter } export { useToastTitle } export { }