import React, { ReactNode } from 'react'; import PropTypes from 'prop-types'; import BaseComponent from '../_base/baseComponent'; import LinkFoundation, { LinkAdapter } from '@douyinfe/semi-foundation/lib/es/anchor/linkFoundation'; import { AnchorContextType } from './anchor-context'; export interface LinkProps { href?: string; title?: ReactNode; className?: string; children?: ReactNode; style?: React.CSSProperties; disabled?: boolean; level?: number; direction?: 'ltr' | 'rtl'; } export default class Link extends BaseComponent { static propTypes: { href: PropTypes.Requireable; title: PropTypes.Requireable>; className: PropTypes.Requireable; style: PropTypes.Requireable; }; static defaultProps: { href: string; title: string; className: string; }; static contextType: React.Context; foundation: LinkFoundation; context: AnchorContextType; constructor(props: LinkProps); get adapter(): LinkAdapter; handleAddLink(): void; handleRemoveLink(): void; handleUpdateLink(href: string, prevHref: string): void; handleClick(e: React.KeyboardEvent | React.MouseEvent): void; componentDidMount(): void; componentDidUpdate(prevProps: LinkProps): void; componentWillUnmount(): void; renderTitle: () => string | number | boolean | Iterable | React.JSX.Element; renderChildren: () => React.JSX.Element; render(): React.JSX.Element; }