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