/// <reference types="react" />
import { type ButtonSize, type ButtonVariant } from "../../types/components";
import { type ChipProps } from "./Chip";
export interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
    label?: string;
    icon?: React.ReactNode;
    variant: ButtonVariant;
    size: ButtonSize;
    disabled?: boolean;
    link?: string;
    isLoading?: boolean;
    isShimmering?: boolean;
    showLoader?: boolean;
    loaderSize?: LoaderSize;
    chip?: ChipProps;
    containerClassName?: string;
    buttonRef?: React.Ref<HTMLButtonElement>;
    anchorRef?: React.Ref<HTMLAnchorElement>;
}
type LoaderSize = "sm" | "md" | "lg";
export declare const buttonRoundedClassMap: Record<ButtonSize, Record<ButtonVariant, string>>;
export declare function Button({ label, disabled, size, variant, icon, link, isLoading, isShimmering, showLoader, loaderSize, chip, containerClassName, anchorRef, buttonRef, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
export {};
