import { ElementType, ReactNode } from 'react'; import { Color } from '../types.js'; /** * Shape of a queued toast in the imperative toast portal. Mirrors `ToastProps` but adds an * `id` (used as React key + lifecycle handle) and an internal `removed` flag. */ export type ToastsPortalData = { /** Stable identifier - also used as the React key when rendering the toast list. */ id: string; /** Toast title (bold line). */ title: string; /** Toast body text. */ text: string | ReactNode; /** Render the auto close button. Default `true` (in `Toast`). */ closeButton?: boolean; /** Icon component rendered before the text content. Receives `iconProps`. */ icon?: ElementType; /** Props forwarded to the `icon` component. */ iconProps?: Record; /** Accent color token. */ color?: Color; /** Internal flag set after `onClosed` fires once - prevents double-removal from the queue. */ removed?: boolean; /** Auto-close timeout in ms (`0` disables). */ timeout?: number; /** Extra classes for the toast surface. */ className?: string; /** Fires after the close transition completes. */ onClosed?: (closed: boolean) => void; }; type ToastsPortalDataValue = { data: ToastsPortalData[]; state: Record; }; type ToastsPortalApiValue = { setData: React.Dispatch>; setState: React.Dispatch>>; }; export declare const ToastsPortalDataContext: import("react").Context; export declare const ToastsPortalApiContext: import("react").Context; export declare const ToastsPortalProvider: ({ children }: { children: ReactNode; }) => import("react/jsx-runtime").JSX.Element; export declare const useToastsPortalData: () => ToastsPortalDataValue; export declare const useToastsPortalApi: () => ToastsPortalApiValue; export {}; //# sourceMappingURL=ToastsPortalContext.d.ts.map