import React, { MouseEventHandler, ReactNode } from 'react';
import { ColorActionColors } from '../../varsTypes';
import { Key } from '../../components';
import { Style } from 'inlines';
import { ClickHandler } from '../../types';
export type ButtonProps = {
    onMouseEnter?: MouseEventHandler;
    onMouseLeave?: MouseEventHandler;
    onFocus?: () => void;
    onBlur?: () => void;
    children?: ReactNode;
    disabled?: boolean;
    color?: ColorActionColors;
    fill?: boolean;
    hideFocusState?: boolean;
    ghost?: boolean;
    icon?: ReactNode;
    afterIcon?: ReactNode;
    loading?: boolean;
    onClick?: ClickHandler;
    onPointerDown?: MouseEventHandler;
    light?: boolean;
    size?: 'large' | 'medium' | 'small' | 'xsmall';
    style?: Style;
    underline?: boolean;
    /**
       Use a keyboard shortcut for this button, use displayShortcut to automaticly show the shortcut if applicable.
      
       Keys: `Enter, Esc, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Tab`
       Commands: `Cmd+C, Alt+C, Shift+C, Cmd+Shift+A`
      */
    keyboardShortcut?: Key;
    /** Parses action keys string and displays it if not on a touchdevice
     */
    displayShortcut?: boolean;
};
export declare const getButtonStyle: (props: ButtonProps, isButton?: boolean) => Style;
export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
