import { ButtonHTMLAttributes } from 'react';
export type ButtonBaseKind = 'primary' | 'secondary' | 'black' | 'negative';
export type ButtonOutlinedKind = `outlined_${ButtonBaseKind}`;
export type ButtonKind = ButtonBaseKind | ButtonOutlinedKind;
export type ButtonSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
export type IconButtonShape = 'rectangle' | 'circle';
export type IconButtonKind = Exclude;
export type IconButtonSize = 'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
export type TextButtonKind = 'text' | 'link';
export type TextButtonSize = 'small' | 'medium' | 'large';
export type AccordionButtonSize = 'xsmall' | 'medium';
export interface BaseButtonProps extends Omit, 'type'> {
/**
* true로 설정 시, 기본 DOM 요소를 렌더링하지 않고 자식 컴포넌트에 props와 동작을 전달합니다.
*
* reference: https://www.radix-ui.com/primitives/docs/guides/composition
* @default false
* */
asChild?: boolean;
/** @default 'button' */
type?: ButtonHTMLAttributes['type'];
}