import React from "react";
export type ButtonSize = "small" | "large";
export type ButtonType = "primary" | "fill" | "ghost";
interface CommonProps {
    elemRef?: React.Ref<any>;
    htmlType?: "button" | "submit" | "reset";
    isActive?: boolean;
    isDefault?: boolean;
    isDisabled?: boolean;
    isSquare?: boolean;
    size?: ButtonSize;
    type?: ButtonType;
    className?: string;
    children?: React.ReactNode;
    preserveWidth?: boolean;
}
type AnchorProps = CommonProps & Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof CommonProps | "type" | "ref"> & {
    href: string;
};
type NativeButtonProps = CommonProps & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, keyof CommonProps | "href" | "ref"> & {
    href?: undefined;
};
export type ButtonProps = AnchorProps | NativeButtonProps;
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<any>>;
export { Button };
