import { HTMLAttributes } from "react"; import { PrimaryColorType } from "../../types/colors"; import { IconType } from "../icon"; /** * @params EndIcon - The icon to be displayed at the end of the button * @params StartIcon - The icon to be displayed at the start of the button * @params children - The content of the button * @params className - Override or extend the styles applied to the component * @params color - Color of the button. It supports those theme colors that make sense for this component. * @params fullWidth - If true, the button will take up the full width of its container. * @params href - The URL to link to when the button is clicked. * @params shape - Shape of the button. It supports those theme shapes that make sense for this component. * @params size - Size of the button. It supports those theme sizes that make sense for this component. * @params variant - Variant of the button. It supports those theme variants that make sense for this component. */ export interface ButtonProps extends HTMLAttributes { endIcon?: IconType; icon?: IconType; label: string; className?: string; color?: Exclude; href?: string; shape?: "rounded" | "square"; size?: "sm" | "md" | "lg" | "xl" | "2xl"; variant?: "contained" | "outlined" | "light" | "text" | "link"; disabled?: boolean; online?: boolean; } /** * @param {ButtonProps} props * @returns Button component * @description This component is used to render a button * @example */ export declare function Button({ label, variant, color, size, icon, endIcon, href, shape, className, disabled, online, ...restProps }: ButtonProps): JSX.Element; export default Button;