import React, { ButtonHTMLAttributes, MouseEvent } from "react";
import { Signal } from "../styles/css-var";
import { IconImage } from "./icon";
export declare const buttonCn = "bh-btn";
export declare type ButtonHook = {
focus?: () => void;
};
export declare type ButtonIconProps = IconImage | {
$image: IconImage;
$signal?: Signal;
$round?: boolean;
};
export declare type ButtonAttributes = Omit, "onClick"> & {
$hook?: ButtonHook;
$signal?: Signal;
$click?: (unlock: (preventFocus?: boolean) => void, event: MouseEvent) => void;
$round?: boolean;
$transparent?: boolean;
$fillLabel?: boolean;
$icon?: ButtonIconProps;
$iconRight?: boolean;
$borderless?: boolean;
$stopPropagation?: boolean;
};
declare const Button: React.ForwardRefExoticComponent, "onClick"> & {
$hook?: ButtonHook;
$signal?: Signal;
$click?: (unlock: (preventFocus?: boolean) => void, event: MouseEvent) => void;
$round?: boolean;
$transparent?: boolean;
$fillLabel?: boolean;
$icon?: ButtonIconProps;
$iconRight?: boolean;
$borderless?: boolean;
$stopPropagation?: boolean;
} & React.RefAttributes>;
export declare const useButton: () => ButtonHook;
export default Button;