///
import { BorderRadiusInterface, ClassNameInterface, ElevationInterface, FlexInterface, FontWeightInterface, HeightInterface, MarginInterface, PaddingInterface, PositionInterface, TestId, WidthInterface } from './utils';
export declare type BaseButtonProps = {} & BorderRadiusInterface & ButtonBackgroundInterface & ButtonSizeInterface & ElevationInterface & FlexInterface & FontWeightInterface & HeightInterface & MarginInterface & PaddingInterface & PositionInterface & WidthInterface & TestId;
export interface ButtonBackgroundInterface {
/** The `background` prop handles color for button, either the background itself or border-color and color, depending on the variant */
background?: string;
}
export declare type ButtonProps = {
onClick?: (event: React.MouseEvent) => void;
/** The `variants` prop handles high level styling for a button */
variant?: ButtonVariants;
} & BaseButtonProps & ClassNameInterface;
export interface ButtonSizeInterface {
/** The `sizes` prop sets the size of a button like element, some styling is contingent on this prop */
size?: ButtonSizes;
}
export declare type ButtonSizes = 'small' | 'medium' | 'large';
export declare type ButtonVariants = 'regular' | 'round' | 'roundOutlined' | 'link' | 'outlined' | 'unstyled';