import * as React from 'react'; import { ConnectedDisclosure } from '../../types/button'; import { UnstyledButtonProps } from './BaseButton'; export interface NonMutualButtonProps { kind?: 'primary' | 'secondary' | 'tertiary'; variant?: 'basic' | 'interactive' | 'critical' | 'success'; /** * Changes the size of the button, giving it more or less padding * @default 'medium' */ size?: 'slim' | 'medium' | 'large'; /** Allows the button to grow to the width of its container */ fullWidth?: boolean; /** Makes `plain` and `outline` Button colors (text, borders, icons) the same as the current text color. Also adds an underline to `plain` Buttons */ monochrome?: boolean; /** Removes underline from button text (including on interaction) when `monochrome` and `plain` are true */ removeUnderline?: boolean; /** Icon to display to the left of the button content */ icon?: React.ReactNode; /** Displays the button with a disclosure icon. Defaults to `down` when set to true */ disclosure?: 'down' | 'up' | 'select' | boolean; /** Disclosure button connected right of the button. Toggles a popover action list. */ connectedDisclosure?: ConnectedDisclosure; /** Changes the inner text alignment of the button */ textAlign?: 'left' | 'right' | 'center' | 'start' | 'end'; } export type ButtonProps = NonMutualButtonProps & UnstyledButtonProps; declare const Button: React.ForwardRefExoticComponent>; export { Button };