import React from 'react'; import type { CommonComponentProps, MarginModifierProp, ModifierClassProp } from '../types'; import type { GetRef } from '../utils/refs'; declare const BUTTON_COLORS: readonly ["ai", "alert", "close", "coachmark", "dscout", "archive", "none", "success", "note", "screener", "live", "diary", "test", "invert", "black", "white"]; declare const SIZES: readonly ["tiny", "small", "big"]; declare const WIDTHS: readonly ["fullwidth", "tight"]; declare const VARIANTS: readonly ["glass", "outline"]; export type ButtonColors = (typeof BUTTON_COLORS)[number]; type Sizes = (typeof SIZES)[number]; type Widths = (typeof WIDTHS)[number]; type Variants = (typeof VARIANTS)[number]; interface ButtonProps extends CommonComponentProps, MarginModifierProp, ModifierClassProp { 'aria-controls'?: string; 'aria-expanded'?: React.AriaAttributes['aria-expanded']; 'aria-pressed'?: boolean; children?: React.ReactNode; color?: ButtonColors; disabled?: boolean; getRef?: GetRef; id?: string; linkComponent?: 'a' | React.ComponentType; linkProps?: Record; name?: string; onClick?: React.MouseEventHandler; onMouseUp?: React.MouseEventHandler; onMouseDown?: React.MouseEventHandler; refProp?: string; size?: Sizes; tabIndex?: number; title?: string; type?: 'button' | 'submit'; width?: Widths; variant?: Variants; } export declare function Button({ _modifierClass, 'aria-controls': ariaControls, 'aria-expanded': ariaExpanded, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, 'aria-describedby': ariaDescribedby, 'aria-pressed': ariaPressed, children, color, disabled, getRef, id, linkComponent, linkProps, margin, name, onClick, onMouseUp, onMouseDown, refProp, size, tabIndex, title, type, width, variant, ...rest }: ButtonProps): React.JSX.Element; export {};