import { ButtonHTMLAttributes } from 'react';
import { getColor } from '../../../colors';
import { Icon } from '../../../icons';
type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
    /**
     * By default the button component is 34px high, the "typeSize" property contains
     * the "medium" variation that changes to 27px
     */
    typeSize?: 'default' | 'medium' | 'auto';
    /** Icon name */
    icon?: Icon;
    /** Enable button loading animation */
    loading?: boolean;
    /**
     * With the property "revertOrientation" it is possible to change the positioning of
     * the elements inside the button as "icon" or "loading"
     */
    revertOrientation?: boolean;
    /** Predefined style variations for the button */
    buttonType?: 'borderless' | 'outlinedSecondary' | 'outlinedAuxiliary' | 'Default';
    /** `Warning`: This property overrides the style defined by the `buttonType` property!
     *
     * Customize elements color
     */
    color?: string;
    /** `Warning`: This property overrides the style defined by the `buttonType` property!
     *
     * Customize background color
     */
    backgroundColor?: string;
    /** `Warning`: This property overrides the style defined by the `buttonType` property!
     *
     * Customize border color
     */
    borderColor?: string;
    /**
     * The button component has a 15px margin on its sides, to remove activate the "noMargin" property
     */
    noMargin?: boolean;
    /**
     * The button component has a 10px margin on its sides, to remove activate the "noIconMargin" property
     */
    noIconMargin?: boolean;
    /**
     * The button component has a 15px padding on its sides, to remove activate the "noPadding" property
     */
    noPadding?: boolean;
    /**
     * It should be true if the button is wrapped in a tooltip
     */
    noPointerEvents?: boolean;
    /**
     * By default the icon component is 16px high, use this prop to customize "iconSize"
     */
    iconSize?: number;
    /**
     * By default the icon color is primary, use this prop to customize "iconColor"
     */
    iconColor?: ReturnType<typeof getColor>;
};
/** Primary UI component for user interaction */
declare const Button: ({ type, typeSize, buttonType, color, backgroundColor, borderColor, disabled, tabIndex, loading: isLoading, icon, children, revertOrientation, noMargin, noIconMargin, noPointerEvents, iconSize, iconColor, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
export type { ButtonProps };
export { Button };
