import * as React from 'react'; import { ChildrenProp } from '../../types'; export declare enum ToastAction { ADD = 0, UPDATE = 1, REMOVE = 2 } export interface ToastReducerAction { type: ToastAction; toast: ToastComponentProps; } export declare type ToastId = string; export declare type ToastMessage = React.ReactNode; export declare type ToastPlacement = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'; export interface ToastOptions
{ id?: string; message: ToastMessage; props?: P; duration?: number; persist?: boolean; } export interface ToastContextProps
{ queueToast: (options: ToastOptions
) => ToastId; closeToast: (id: ToastId) => void; } export interface ToastComponentProps
{
id: string;
isOpen: boolean;
message: ToastMessage;
props: P;
duration: number;
persist: boolean;
}
export declare function useToast(): ToastContextProps;
export interface ToastProviderProps extends ChildrenProp {
component: (props: ToastComponentProps) => JSX.Element;
duration?: number;
maxVisible?: number;
persist?: boolean;
placement?: ToastPlacement;
}
export declare const ToastProvider: React.FC