import React, { type ButtonHTMLAttributes } from "react";
import { type VariantProps } from "class-variance-authority";
declare const buttonVariants: (props?: ({
    variant?: "text" | "outlined" | "contained" | "gradient" | null | undefined;
    size?: "small" | "icon" | "large" | "default" | null | undefined;
    color?: "success" | "primary" | "secondary" | "tertiary" | "buy" | "sell" | "danger" | null | undefined;
    fullWidth?: boolean | null | undefined;
    disabled?: boolean | null | undefined;
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "disabled" | "color">, VariantProps<typeof buttonVariants> {
    /**
     * If `true`, the button will show a loading indicator.
     * @default false
     */
    loading?: boolean;
    leftIcon?: React.ReactNode;
    rightIcon?: React.ReactNode;
    asChild?: boolean;
}
/**
 * The Button component is used to trigger an action or event, such as submitting a form, opening a dialog, canceling an action, or performing a delete operation.
 *
 * @example
 * ```tsx
 * <Button>Default</Button>
 * ```
 * @see https://orderly.network/components/button
 */
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
export { Button, buttonVariants };
//# sourceMappingURL=button.d.ts.map