import { type ReactNode } from "react";
export type ButtonSize = "sm" | "md" | "lg" | "xl";
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
    variant?: "default" | "secondary" | "ghost";
    /** Apply destructive styling for dangerous actions (e.g., delete, remove) */
    mood?: "destructive";
    size?: "sm" | "md" | "lg" | "xl";
    leftIcon?: ReactNode;
    rightIcon?: ReactNode;
    /** Icon for icon-only button (renders without children) */
    icon?: ReactNode;
    isLoading?: boolean;
    /** Custom text to display during loading state (defaults to showing spinner only) */
    loadingText?: string;
}
export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
//# sourceMappingURL=button.d.ts.map