import { PropsWithAs } from '@reach/utils'; import { BoxStylingProps } from './Box'; import { ButtonVariantName } from './theme/variants/button'; import { SVGComponent } from './shared'; export declare type ButtonSize = 'extra-small' | 'small' | 'medium' | 'large'; /** * These represent props that are not already available via React.HTMLAttributes */ export declare type NonSemanticButtonProps = Pick & { size?: ButtonSize | ButtonSize[]; variant?: ButtonVariantName | ButtonVariantName[]; isLoading?: boolean; adornmentLeft?: SVGComponent; adornmentRight?: SVGComponent; }; export interface ButtonProps extends PropsWithAs<'button', NonSemanticButtonProps> { } export declare type AdornmentVariation = 'leftOnly' | 'rightOnly' | 'both' | 'none'; export declare type ButtonCompoundVariant = `${ButtonSize}_adorned-${AdornmentVariation}`; export declare const Button: import("@reach/utils").ForwardRefExoticComponentWithAs<"button", NonSemanticButtonProps>;