import { ReactNode, MouseEvent as ReactMouseEvent, ButtonHTMLAttributes } from 'react'; import type { DefaultAttributes } from '../types'; export declare type ButtonVariants = 'primary' | 'secondary' | 'outline' | 'ghost' | 'inverse' | 'inverse-ghost' | 'destructive' | 'destructive-ghost'; export declare type ButtonSizes = 'xSmall' | 'small-expressive' | 'small-productive' | 'medium' | 'large'; export declare type ButtonTypes = 'button' | 'reset' | 'submit'; export declare type ButtonIconPosition = 'leading' | 'trailing'; declare type ButtonCustomProps = DefaultAttributes & { children: ReactNode; variant?: ButtonVariants; size?: ButtonSizes; disabled?: boolean; isLoading?: boolean; type?: ButtonTypes; onClick?: (e: ReactMouseEvent) => void; fullWidth?: boolean; icon?: ReactNode; iconPosition?: ButtonIconPosition; margin?: string; }; export declare type ButtonProps = ButtonHTMLAttributes & ButtonCustomProps; export {};