import { type ComponentPropsWithRef, type ElementType, type ReactElement } from 'react'; type ButtonCustomProps = { /** Alternate color scheme */ alternate?: boolean; /** Size of Button */ buttonSize?: 'large' | 'medium' | 'small'; /** Color Scheme of Button */ colorScheme?: 'primary' | 'secondary' | 'tertiary'; /** Destructive Button */ destructive?: boolean; /** Icon Button */ iconButton?: boolean; /** Icon Two Button */ iconTwoColor?: boolean; /** Stacked Button */ stacked?: boolean; /** Subtle Button */ subtle?: boolean; } & Omit, ''>; export type ButtonProperties = ButtonCustomProps & ({ /** Cloned Element (not compatible with tag property) */ element?: never; /** Tag (not compatible with element property) */ tag?: ElementType; } | { /** Cloned Element (not compatible with tag property) */ element?: ReactElement>; /** Tag (not compatible with element property) */ tag?: never; }) & Omit, ''>; /** * Interactive elements enabling users to take actions within an interface. * @docs {@link https://design.visa.com/components/button/?code_library=react | See Docs} * @vgar TODO * @wcag TODO */ declare const Button: { ({ alternate, buttonSize, className, colorScheme, destructive, element, iconButton, iconTwoColor, stacked, subtle, tag: Tag, ...remainingProps }: ButtonProperties): import("react/jsx-runtime").JSX.Element; displayName: string; }; export default Button;