import type { AriaAttributes, AriaRole, HTMLAttributeAnchorTarget, MouseEventHandler, ReactNode } from 'react'; import type { Size } from '../types'; export declare enum ButtonVariant { Red = "Red", Primary = "Primary", Secondary = "Secondary", SecondaryOutlined = "SecondaryOutlined", Grey = "Grey", Ghost = "Ghost", GhostDarkBackground = "GhostDarkBackground" } export interface CommonButtonProps extends AriaAttributes { className?: string; children: ReactNode; disabled?: boolean; fullWidth?: boolean; iconOnly?: boolean; onClick?: MouseEventHandler; shadow?: boolean; size?: keyof typeof Size; variant: keyof typeof ButtonVariant; testId?: string; ariaRole?: AriaRole; } export interface LinkButtonProps extends CommonButtonProps { href: string; target?: HTMLAttributeAnchorTarget; download?: string; } export interface RegularButtonProps extends CommonButtonProps { href?: undefined; download?: never; target?: never; } export declare type ButtonProps = LinkButtonProps | RegularButtonProps;