import React from 'react'; import { type ButtonProps as RACButtonProps } from 'react-aria-components'; import { type ButtonSizes, type ButtonVariants, type PendingButtonProps } from './types'; /** Shared UI props between Button and LinkButton */ export type ButtonUIProps = { /** Visually hides the Button's child content used as the label and the `pendingLabel`. Use for icon-only `Button`. @default "false" */ hasHiddenLabel?: boolean; /** The visual style of the button. * @default "default" */ variant?: ButtonVariants; /** The visual size of the button. `medium` was formerly `regular` * @default "medium" */ size?: ButtonSizes; /** Renders an icon at the `iconPosition` provided. To the size scales with the button, we recommend using the `Icon` component from `"@kaizen/components/next"` */ icon?: JSX.Element; /** Controls the position of the Icon passed in as props. @default "start" */ iconPosition?: 'start' | 'end'; /** Controls if the button inherits width from its parent. @default "false" */ isFullWidth?: boolean; }; export type ButtonProps = ButtonUIProps & PendingButtonProps & Omit & { /** Used as the label for the button. */ children: RACButtonProps['children']; }; export declare const Button: React.ForwardRefExoticComponent>;