import { default as React } from 'react'; import { StyleProps } from '../../style-engine'; import { ToastProps } from './Toast'; declare const toastContainerPositionStyles: import('../../style-engine').StylesDef<{ position: { 'top-right': string; 'top-left': string; 'bottom-right': string; 'bottom-left': string; 'top-center': string; 'bottom-center': string; }; }>; export interface ToastOptions extends Omit { /** * Duration in milliseconds before the toast auto-dismisses. * Set to 0 to disable auto-dismissal. * @default 5000 */ duration?: number; } export interface ToastState extends ToastOptions { id: string; } export interface ToastContextType { toasts: ToastState[]; /** * Display a new toast notification. * @returns The generated ID of the toast */ toast: (options: ToastOptions) => string; /** * Remove a specific toast by its ID. */ removeToast: (id: string) => void; } export declare const ToastContext: React.Context; export declare function useToast(): ToastContextType; type ToastProviderStyleProps = StyleProps; export interface ToastProviderProps extends Omit { children: React.ReactNode; /** * Position of the toast container on the screen. * @default "bottom-right" */ position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center'; } export declare function ToastProvider({ children, position, }: ToastProviderProps): React.JSX.Element; export {};