import { ReactElement, ReactNode } from "react";
import { BUTTON_SIZE } from "./types";
import { LinkProps } from "../link/types";
import { SPINNER_COLOR } from "../spinner/types";
export type BaseButtonProps = {
    children?: ReactNode;
    icon?: ReactElement | null;
    iconSide?: "left" | "right";
    align?: "left" | "center" | "right";
    className?: string;
    size?: (typeof BUTTON_SIZE)[number];
    fullWidth?: boolean;
    isSelected?: boolean;
    isInert?: boolean;
    isDisabled?: boolean;
    onClick?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement>;
    onMouseOver?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement>;
    onMouseOut?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement>;
    onMouseMove?: React.MouseEventHandler<HTMLAnchorElement | HTMLButtonElement>;
    href?: LinkProps["href"];
    target?: LinkProps["target"];
    track?: LinkProps["track"];
    htmlFor?: string;
    tabIndex?: number;
    title?: string;
    isSubmit?: boolean;
    isLoading?: boolean;
};
export declare const BaseButton: import("react").ForwardRefExoticComponent<BaseButtonProps & {
    spinnerColor: (typeof SPINNER_COLOR)[number];
} & import("react").RefAttributes<HTMLButtonElement | null>>;
