import { type ButtonHTMLAttributes, type CSSProperties, type ElementType, type ReactNode, type Ref } from 'react'; import type { PolymorphicProps } from '../../shared/polymorphic'; type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger' | 'success' | 'unstyled'; type ButtonSize = 'sm' | 'md' | 'lg'; type ButtonBaseOwnProps = { variant?: ButtonVariant; size?: ButtonSize; pending?: boolean; disabled?: boolean; style?: CSSProperties; className?: string; asChild?: boolean; }; type ButtonBaseProps = ButtonBaseOwnProps & Omit, keyof ButtonBaseOwnProps>; type ButtonBaseAsChildProps = ButtonBaseOwnProps & Omit, keyof ButtonBaseOwnProps> & { children: ReactNode; ref?: Ref; }; type ButtonBaseRenderProps = (ButtonBaseProps | ButtonBaseAsChildProps) & { as?: ElementType; ref?: Ref; }; declare const ButtonBase: (props: ButtonBaseRenderProps) => import("react/jsx-runtime").JSX.Element; export { ButtonBase }; export type { ButtonBaseProps, ButtonBaseAsChildProps, ButtonVariant, ButtonSize, };