import * as React from 'react'; import type { ButtonAriaProps } from '../../a11y/button_aria_attributes/button_aria_attributes'; import type { TooltipProps } from '../../tooltip/tooltip'; type AriaProps = Pick & { role?: 'menuitem' | 'menuitemradio' | 'menuitemcheckbox' }; type CommonEventHandlerProps = { onPointerDown?: React.PointerEventHandler onPointerUp?: React.PointerEventHandler onPointerEnter?: React.PointerEventHandler onPointerLeave?: React.PointerEventHandler onPointerMove?: React.PointerEventHandler onPointerCancel?: React.PointerEventHandler }; type CommonProps = { children?: React.ReactNode draggable?: boolean className?: string id?: string ref?: React.Ref disabled?: boolean variant?: LinkVariant } & LinkTooltipProps & CommonEventHandlerProps; type LinkTooltipProps = { tooltipLabel?: TooltipProps['label'] tooltipDescription?: TooltipProps['description'] tooltipDisabled?: TooltipProps['disabled'] tooltipPlacement?: TooltipProps['placement'] tooltipLineClamp?: TooltipProps['lineClamp'] }; type AnchorProps = { href: string rel?: string target?: string download?: string withOpenInNewIcon?: boolean }; export type LinkButtonProps = CommonProps & Partial & AriaProps & Pick & { onClick: React.MouseEventHandler }; export type LinkProps = CommonProps & AnchorProps & Omit & { onClick?: React.MouseEventHandler role?: AriaProps['role'] | 'button' preventLineBreak?: boolean }; export declare const InheritColor: unique symbol; export declare const variants: readonly [ 'regular', 'semiBold', 'subtle', 'muted', 'unstyled', 'critical', typeof InheritColor ]; export type LinkVariant = (typeof variants)[number]; export declare function Link( { tooltipLabel, tooltipDescription, tooltipDisabled, tooltipLineClamp, tooltipPlacement, ...props }: LinkProps ): React.ReactNode; export declare function LinkButton({ onClick, ...props }: LinkButtonProps): React.ReactNode; export {};