import { ComponentPropsWithoutRef } from 'react'; import { DataTrackingId, ButtonAppearance, LayoutUtilProps, Size } from '../../types'; import { IconProps } from '../Icon'; /** * Props for the ButtonLink component * @extends LayoutUtilProps * @extends ComponentPropsWithoutRef<"a"> */ export type ButtonLinkProps = LayoutUtilProps & ComponentPropsWithoutRef<"a"> & { /** * The disabled state of the button link. * @default false */ disabled?: boolean; /** * The visual variant of the button link. * @default secondary */ appearance?: ButtonAppearance; /** * The size of the button link. * @default medium */ size?: Extract; /** * The icons of the button link. */ icon?: IconProps["svg"] | { after: IconProps["svg"]; } | { before: IconProps["svg"]; }; /** * The loading state of the button link. * If true, it will show infinite state of the loading. * @default false */ loading?: boolean; } & /** * Data tracking id */ DataTrackingId; /** * ButtonLink component for creating clickable links that look like buttons. * * Features: * - Multiple visual appearances (primary, secondary, ghost, danger variants) * - Four size options (xsmall, small, medium, large) * - Loading state with spinner animation * - Icon support (before, after, or icon-only) * - Full accessibility support with proper ARIA attributes * - Supports layout utilities for positioning and spacing * - Keyboard navigation support (Space and Enter keys) * - Automatic disabled state when loading * - Prevents navigation when disabled or loading * - Flexible content with text and/or icons * - Automatic tracking ID generation for analytics * * @example * * Go to Dashboard * */ export declare const ButtonLink: import('react').ForwardRefExoticComponent, HTMLAnchorElement>, "ref"> & { /** * The disabled state of the button link. * @default false */ disabled?: boolean; /** * The visual variant of the button link. * @default secondary */ appearance?: ButtonAppearance; /** * The size of the button link. * @default medium */ size?: Extract; /** * The icons of the button link. */ icon?: IconProps["svg"] | { after: IconProps["svg"]; } | { before: IconProps["svg"]; }; /** * The loading state of the button link. * If true, it will show infinite state of the loading. * @default false */ loading?: boolean; } & DataTrackingId & import('react').RefAttributes>;