import type { RenderProp } from '@ultraviolet/utils'; import type { AnchorHTMLAttributes, CSSProperties, HTMLAttributeAnchorTarget, KeyboardEventHandler, MouseEventHandler, ReactNode } from 'react'; import type { PROMINENCES } from './constants'; export type ProminenceProps = keyof typeof PROMINENCES; type LinkSizes = 'large' | 'small' | 'xsmall'; type LinkIconPosition = 'left' | 'right'; type LinkProps = { children: ReactNode; target?: HTMLAttributeAnchorTarget; download?: string | boolean; sentiment?: 'primary' | 'info'; prominence?: ProminenceProps; size?: LinkSizes; iconPosition?: LinkIconPosition; rel?: AnchorHTMLAttributes['rel']; className?: string; onClick?: MouseEventHandler; onKeyDown?: KeyboardEventHandler; 'aria-label'?: string; 'aria-current'?: AnchorHTMLAttributes['aria-current']; 'aria-keyshortcuts'?: string; oneLine?: boolean; 'data-testid'?: string; variant?: 'inline' | 'standalone'; style?: CSSProperties; } & XOR<[ { href?: string; }, { /** * Custom element or render function to use instead of the default anchor. * * Element form (props auto-merged): * ```tsx * }>About * ``` * * Function form (you control prop merging): * ```tsx * }>About * ``` */ render: RenderProp; } ]>; /** * Link is a component used to navigate between pages or to external websites. * Use `render` prop to render a custom element (e.g., Next.js Link) while preserving Link's styling. */ export declare const Link: import("react").ForwardRefExoticComponent>; export {}; //# sourceMappingURL=index.d.ts.map