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;