import type { Icon, IconProps } from "@tabler/icons-react";
import { type ComponentPropsWithoutRef } from "react";
import type { IconType as RI_IconType } from "react-icons";
import { type ButtonProps } from "./Button";
export type IconType = RI_IconType | React.ForwardRefExoticComponent<IconProps & React.RefAttributes<Icon>>;
declare const styles: {
    readonly xs: {
        readonly className: "p-0.5";
        readonly size: 13;
    };
    readonly sm: {
        readonly className: "p-0.5";
        readonly size: 15;
    };
    readonly md: {
        readonly className: "p-1";
        readonly size: 18;
    };
    readonly lg: {
        readonly className: "p-1.5";
        readonly size: 22;
    };
};
interface IconButtonProps extends ComponentPropsWithoutRef<"button"> {
    Icon: IconType;
    iconProps?: Record<string, any>;
    variant?: ButtonProps["variant"];
    size?: keyof typeof styles;
}
export declare const IconButton: import("react").ForwardRefExoticComponent<IconButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
export {};
