import { AriaButtonProps as RaButtonProps } from 'react-aria';
import { HTMLChakraProps, RecipeProps, UnstyledProp } from '@chakra-ui/react';
import { SemanticPalettesOnly } from '../../type-utils';
type ButtonRecipeProps = {
    /**
     * Size variant of the button
     * @default "md"
     */
    size?: RecipeProps<"button">["size"];
    /**
     * Visual style variant of the button
     * @default "subtle"
     */
    variant?: RecipeProps<"button">["variant"];
} & UnstyledProp;
export type ButtonRootSlotProps = Omit<HTMLChakraProps<"button", ButtonRecipeProps>, "slot" | "colorPalette"> & {
    slot?: string | null | undefined;
    /**
     * Color palette for the button
     */
    colorPalette?: SemanticPalettesOnly;
};
export type ButtonProps = Omit<ButtonRootSlotProps, keyof RaButtonProps> & RaButtonProps & {
    /**
     * Data attributes for testing or custom metadata
     */
    [key: `data-${string}`]: unknown;
    /**
     * Slot name for React Aria Components composition
     */
    slot?: string | null | undefined;
    /**
     * Ref forwarding to the button element
     */
    ref?: React.Ref<HTMLButtonElement>;
};
export {};
