import { type VariantProps } from "class-variance-authority";
import React from "react";
declare const buttonVariants: (props?: ({
    variant?: "accent" | "outline" | "transparent" | "destructive" | null | undefined;
    size?: "default" | "small" | "small-legacy" | "icon" | null | undefined;
    fullWidth?: boolean | null | undefined;
    noPaddingX?: boolean | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
/** @deprecated Use `size="small"` instead. Temporary alias kept for backward compatibility; will be removed in the future. */
type DeprecatedButtonSize = "small-legacy";
type ButtonSize = Exclude<VariantProps<typeof buttonVariants>["size"], "small-legacy" | null | undefined> | DeprecatedButtonSize;
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, Omit<VariantProps<typeof buttonVariants>, "size"> {
    asChild?: boolean;
    href?: string;
    openInNewTab?: boolean;
    prefetch?: boolean;
    /**
     * Pre-resolved anchor bundle (from `useNavLink({ href, targetPlatform })`).
     * When set, renders the Button as `<Link>` with `href` / `target` / `rel`
     * / `onClick` spread from this object. Lets callers thread the unified
     * nav decision directly without `<Button asChild><a {...linkProps}/>`
     * gymnastics. Wins over the separate `href` / `openInNewTab` props.
     */
    linkProps?: {
        href: string;
        target?: '_blank';
        rel?: 'noopener noreferrer';
        onClick?: React.MouseEventHandler<HTMLAnchorElement>;
    } | null;
    leftIcon?: React.ReactNode;
    rightIcon?: React.ReactNode;
    /**
     * Renders a vertical divider and trailing icon area inside the button.
     * The whole button stays a single click target — the icon is decorative
     * (`aria-hidden`). For two independent click targets, use `<SplitButton>`.
     * Only honored when `size` is `"default"` or `"small"`.
     */
    splitIcon?: React.ReactNode;
    loading?: boolean;
    size?: ButtonSize;
}
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
export { Button, buttonVariants, type ButtonProps };
//# sourceMappingURL=button.d.ts.map