import * as React from 'react'; import { StyledFn, StyletronComponent, StyletronComponentInjectedProps, } from 'styletron-react'; import {Override} from '../overrides'; export interface KIND { primary: 'primary'; secondary: 'secondary'; tertiary: 'tertiary'; minimal: 'minimal'; } export interface SIZE { compact: 'compact'; default: 'default'; large: 'large'; mini: 'mini'; } export interface SHAPE { default: 'default'; pill: 'pill'; round: 'round'; circle: 'circle'; square: 'square'; } export interface ButtonOverrides { Root?: Override; BaseButton?: Override; StartEnhancer?: Override; EndEnhancer?: Override; LoadingSpinnerContainer?: Override; LoadingSpinner?: Override; } export interface ButtonProps extends StyletronComponentInjectedProps { href?: string; target?: string; children?: React.ReactNode; disabled?: boolean; endEnhancer?: React.ReactNode; isLoading?: boolean; isSelected?: boolean; kind?: KIND[keyof KIND]; onClick?: (event: React.MouseEvent) => any; overrides?: ButtonOverrides; shape?: SHAPE[keyof SHAPE]; size?: SIZE[keyof SIZE]; startEnhancer?: React.ReactNode; type?: 'submit' | 'reset' | 'button'; } export const StyledBaseButton: StyletronComponent; export const StyledStartEnhancer: StyletronComponent; export const StyledEndEnhancer: StyletronComponent; export const StyledLoadingSpinner: StyletronComponent; export const StyledLoadingSpinnerContainer: StyletronComponent; export const Button: React.ForwardRefExoticComponent< React.PropsWithoutRef & React.RefAttributes >; export const KIND: KIND; export const SHAPE: SHAPE; export const SIZE: SIZE;