import type { ButtonHTMLAttributes, HTMLAttributes, ReactElement } from 'react'; type Base = ButtonHTMLAttributes; type ButtonType = 'default' | 'primary' | 'muted' | 'complementary' | 'link' | 'text' | 'light' | 'border' | 'border-primary'; type ButtonShape = 'default' | 'round' | 'pill' | 'circle'; interface ButtonProps extends Omit { readonly icon?: ReactElement | undefined; readonly suffix?: ReactElement | undefined; /** @default 'default' */ readonly shape?: ButtonShape | undefined; /** @default 'default' */ readonly type?: ButtonType | undefined; /** @default 'button' */ readonly htmlType?: Base['type']; /** @default false */ readonly dashed?: boolean | undefined; /** @default false */ readonly loading?: boolean | undefined; /** @default false */ readonly block?: boolean | undefined; readonly children?: string | number | boolean | null | undefined; } interface ButtonGroupProps extends HTMLAttributes { } export type { ButtonProps, ButtonType, ButtonShape, ButtonGroupProps };