import { ReactNode, ButtonHTMLAttributes } from 'react'; export type ButtonVariant = "primary" | "secondary" | "outline" | "ghost"; export type ButtonSize = "small" | "medium" | "large"; export interface ButtonProps extends Omit, "disabled"> { /** Button variant that changes the visual style */ variant?: ButtonVariant; /** Size of the button */ size?: ButtonSize; /** Custom class name */ className?: string; /** Button contents */ children: ReactNode; /** Optional icon to show before the button text */ leftIcon?: ReactNode; /** Optional icon to show after the button text */ rightIcon?: ReactNode; /** Whether the button is in loading state */ isLoading?: boolean; /** Whether the button is disabled */ isDisabled?: boolean; /** Full width button */ fullWidth?: boolean; } export declare const Button: ({ variant, size, className, children, leftIcon, rightIcon, isLoading, isDisabled, fullWidth, type, ...rest }: ButtonProps) => import("react").JSX.Element;