import { HTMLAttributes, ReactNode, Ref } from 'react';
import { IComponentBaseProps } from '../types';
export declare const TOAST = "toast";
export declare const ALERT = "alert";
export type ToastPosition = "top-start" | "top-center" | "top-end" | "middle-start" | "middle-center" | "middle-end" | "bottom-start" | "bottom-center" | "bottom-end";
export declare const POSITION_MAP: Record;
export type ToastType = "default" | "success" | "error" | "warning" | "info" | "loading";
export declare const TYPE_ALERT_MAP: Record;
export interface ToastOptions {
id?: string;
duration?: number;
position?: ToastPosition;
dismissible?: boolean;
icon?: ReactNode | false;
className?: string;
onDismiss?: (id: string) => void;
}
export interface ToastData {
id: string;
type: ToastType;
message: ReactNode;
duration: number;
position?: ToastPosition;
dismissible: boolean;
icon?: ReactNode | false;
className?: string;
onDismiss?: (id: string) => void;
createdAt: number;
}
export interface ToastProps extends Omit, "id">, IComponentBaseProps {
ref?: Ref;
toast: ToastData;
onDismiss: (id: string) => void;
pauseOnHover?: boolean;
}
export interface ToasterProps extends Omit, "children">, IComponentBaseProps {
ref?: Ref;
position?: ToastPosition;
duration?: number;
max?: number;
pauseOnHover?: boolean;
containerClassName?: string;
}