import React, { FC, ReactElement } from "react";
import { IconSubComponentProps } from "../../components/Icon/Icon";
import { ToastAction, ToastActionType, ToastType, ToastPosition } from "./ToastConstants";
import L3ComponentProps from "../../types/L3ComponentProps";
import "./Toast.scss";
interface ToastProps extends L3ComponentProps {
    actions?: ToastAction[];
    /** If true, Toast is open (visible) */
    open?: boolean;
    type?: ToastType;
    /** Possible to override the default icon */
    icon?: string | React.FC<IconSubComponentProps> | null;
    /** If true, won't show the icon */
    iconClassName?: string;
    hideIcon?: boolean;
    /** The action to display */
    action?: JSX.Element;
    /** If false, won't show the close button */
    closeable?: boolean;
    closeIcon?: string;
    position?: ToastPosition;
    onClose?: () => void;
    /** The number of milliseconds to wait before
     * automatically closing the Toast
     * (0 or null cancels this behaviour) */
    autoHideDuration?: number;
    children?: ReactElement | ReactElement[] | string | boolean;
    label?: string;
    paragraph?: string;
    iconSize?: "SMALL" | "MEDIUM" | "LARGE";
    artWork?: string;
    artWorkType?: "img" | "icon";
    avatarSrc?: string;
    loader?: boolean;
}
declare const Toast: FC<ToastProps> & {
    types?: typeof ToastType;
    actionTypes?: typeof ToastActionType;
    positions?: typeof ToastPosition;
};
export default Toast;
