import React, { type ReactElement } from "react";
import { type IconSubComponentProps } from "@vibe/icon";
import { ToastActionType as ToastActionTypeEnum, ToastType as ToastTypeEnum } from "./ToastConstants";
import { type ToastType, type ToastAction } from "./Toast.types";
import { type VibeComponentProps } from "../../types";
export interface ToastProps extends VibeComponentProps {
    /**
     * The actions available in the toast.
     */
    actions?: ToastAction[];
    /**
     * If true, the toast is open (visible).
     */
    open?: boolean;
    /**
     * If true, displays a loading indicator inside the toast.
     */
    loading?: boolean;
    /**
     * The type of toast.
     */
    type?: ToastType;
    /**
     * The icon displayed in the toast.
     */
    icon?: string | React.FC<IconSubComponentProps> | null;
    /**
     * If true, hides the toast icon.
     */
    hideIcon?: boolean;
    /**
     * The action element displayed in the toast.
     */
    action?: JSX.Element;
    /**
     * If false, hides the close button.
     */
    closeable?: boolean;
    /**
     * Callback fired when the toast is closed.
     */
    onClose?: () => void;
    /**
     * The number of milliseconds before the toast automatically closes.
     * (0 or null disables auto-close behavior).
     */
    autoHideDuration?: number;
    /**
     * The content displayed inside the toast.
     */
    children?: ReactElement | ReactElement[] | string;
    /**
     * The aria-label for the close button.
     */
    closeButtonAriaLabel?: string;
}
declare const _default: React.FC<ToastProps> & {
    types: typeof ToastTypeEnum;
    actionTypes: typeof ToastActionTypeEnum;
};
export default _default;
