import { ButtonHTMLAttributes, ReactNode } from 'react';
export type ButtonVariant = "primary" | "secondary" | "tertiary" | "outline" | "ghost" | "destructive" | "danger" | "link";
export type ButtonSize = "xs" | "sm" | "md" | "lg";
export type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
    variant?: ButtonVariant;
    size?: ButtonSize;
    loading?: boolean;
    loadingLabel?: string;
    leftIcon?: ReactNode;
    rightIcon?: ReactNode;
    iconOnly?: boolean;
    fullWidth?: boolean;
};
export type IconButtonProps = Omit<ButtonProps, "leftIcon" | "rightIcon" | "iconOnly" | "children"> & {
    "aria-label": string;
    icon: ReactNode;
};
