import * as React from 'react'; import { StandardProps } from '../../common'; import { AnchorProps } from '../Anchor'; import { IconName } from '../Icon'; /** * Button style name. */ export declare type ButtonStyle = 'primary' | 'secondary'; /** * Button type. */ export declare type ButtonType = 'submit' | 'reset' | 'button'; /** * Button size. */ export declare type ButtonSize = 'small' | 'medium'; export interface ButtonProps extends AnchorProps { /** * Sets the button as active. * @default false */ active?: boolean; /** * Sets the button as a block. * @default false */ block?: boolean; /** * Sets the button style type. By default primary. * @default primary */ buttonStyle?: ButtonStyle; /** * Sets the button type. By default "submit". * @see [W3C](https://www.w3.org/TR/2011/WD-html5-20110525/the-button-element.html#attr-button-type) */ type?: ButtonType; /** * Sets the button size. By default medium. * @default medium */ size?: ButtonSize; /** * The name of the icon to display. By default no icon is display. */ icon?: IconName; /** * Disables changing the width of the button to 100% for mobile screens (narrower than 980px) * @default false */ disableMobileFullWidth?: boolean; } export interface StyledButtonProps extends AnchorProps { block?: boolean; buttonStyle?: ButtonStyle; size?: ButtonSize; disableMobileFullWidth?: boolean; } export interface IconWrapperProps extends StandardProps { } /** * The button component renders a simple button optionally with an icon. */ export declare const Button: React.FC & { inner: { readonly StyledButton: any; readonly StyledIcon: any; }; };