import React, { type RefObject } from "react";
import { type ButtonSize, type ButtonVariant } from "../../../types/styled";
export declare type Icon = {
    active: React.ReactNode;
    hover?: React.ReactNode;
    disabled?: React.ReactNode;
};
export interface BaseProps {
    width?: string;
    size?: ButtonSize;
    variant?: ButtonVariant;
    /**
     * @deprecated
     */
    height?: string;
    /**
     * @deprecated
     */
    outline?: boolean;
    /**
     * @deprecated
     */
    texted?: boolean;
}
export interface BaseInactiveProps extends BaseProps {
    disabled?: boolean;
    pending?: boolean;
}
export declare type ButtonProps = React.ComponentProps<"button"> & BaseInactiveProps & {
    ref?: RefObject<HTMLButtonElement>;
    label?: string;
    className?: string;
};
export declare type LinkProps = React.ComponentProps<"a"> & BaseProps & {
    ref?: RefObject<HTMLAnchorElement>;
    label?: string;
    className?: string;
};
export declare type ButtonLinkProps = Omit<LinkProps, "label">;
