import { type AnchorHTMLAttributes } from 'react';
import { Link as ReactRouterLink, NavLink, type NavLinkProps } from 'react-router-dom';
import { type ButtonProps } from '../buttons';
import { type IconName } from '../icon';
type BaseLinkProps = Pick, 'id' | 'className' | 'onClick' | 'aria-disabled' | 'aria-label' | 'target' | 'children' | 'href' | 'rel' | 'onFocus' | 'onBlur' | 'onKeyDown'> & Pick;
export type LinkButtonProps = Pick;
interface IconOnlyLink {
children: never;
/** Icon Only Variant (with a tooltip)
* Make sure to provide an icon name and a label (for the tooltip)
*/
icon: {
name: IconName;
label: string;
};
}
interface WithIconLink {
icon?: {
name: IconName;
};
}
export type LinkProps = BaseLinkProps & {
disabled?: boolean;
/** Button Link Variant */
button?: LinkButtonProps;
/** External Link Variant */
external?: boolean;
routerLink?: typeof NavLink | typeof ReactRouterLink;
} & (IconOnlyLink | WithIconLink);
export {};