/**
 * Copyright (c) Adaptavist, Inc.
 */
import { ComponentPropsWithoutRef } from 'react';
import { ControlProps, GenericProps } from '../../utilities';
export type IButton = ComponentPropsWithoutRef<'button'> & GenericProps & ControlProps & {
    /**
     * Sets the behaviour of the Button Atom.
     *
     * If set to true, the Button Atom will fill to 100% width.
     * If set to false, the Button Atom will fill the width automatically.
     *
     * Default is `false`.
     */
    block?: boolean;
    /**
     * Controls the type of Button Atom rendered.
     *
     * For clarity, we intentionally don't have an option for Butttons-that-look-like-Links to avoid confusion.
     *
     * Default is `primary`.
     */
    buttonType?: 'critical-outline' | 'critical' | 'invisible' | 'outline' | 'primary-outline' | 'primary' | 'secondary-outline' | 'secondary' | 'success-outline' | 'success' | 'tertiary-outline' | 'tertiary' | 'text' | 'warning-outline' | 'warning';
    /**
     * Prop to control if the Button Atom should show a loading state or not.
     *
     * If set to true, the Button Atom will enter its' Loading state.
     * If set to false, the Button Atom will render as normal.
     *
     * Default is `false`.
     */
    isLoading?: boolean;
};
