import React, { MouseEvent, ReactNode } from 'react'; import { ButtonProps as AriaButtonProps } from 'react-aria-components'; import './Button.scss'; export declare enum ButtonType { Primary = "primary", Secondary = "secondary", Tertiary = "tertiary", Discovery = "discovery", Alert = "alert", Warning = "warning", Success = "success", Disabled = "disabled" } export type ButtonProps = Omit & { type?: ButtonType | string; size?: 'small' | 'standard'; disabled?: boolean; leftIcon?: ReactNode; rightIcon?: ReactNode; isLoading?: boolean; onClick?: (e: MouseEvent) => void; style?: React.CSSProperties; children?: ReactNode | string; htmlType?: AriaButtonProps['type']; }; /** * Button Component * @param props * @param {object} props.children - The content of the Button * @param {string} props.className - The class name of the Button * @param {ButtonType | string} props.type - {ButtonType | string} The type of the Button, including primary, secondary, tertiary, discovery, alert, warning, success, disabled * @param {AriaButtonProps['type']} props.htmlType - The html type of the Button, such as `submit`, `reset`, or `button` * @param {boolean} props.disabled - The disabled state of the Button * @param {'small' | 'standard'} props.size - The size of the Button * @param {ReactNode} props.leftIcon - The left icon of the Button * @param {ReactNode} props.rightIcon - The right icon of the Button * @param {boolean} props.isLoading - The loading state of the Button * @param {function} props.onClick - The click event handler of the Button * @param {function} props.onPress - The press event handler of the Button * @param {function} props.onHoverStart - The hover start event handler of the Button * @param {function} props.onHoverEnd - The hover end event handler of the Button * @param {function} props.onHoverChange - The hover change event handler of the Button * @param {React.CSSProperties} props.style - The style of the Button * @returns {ReactNode} - The Button component */ export default function Button(props: ButtonProps): import("react/jsx-runtime").JSX.Element;