import React from 'react'; import propTypes from 'prop-types'; import { BreadcrumbItemAdapter, BreadcrumbItemInfo, Route } from '@douyinfe/semi-foundation/lib/cjs/breadcrumb/itemFoundation'; import BaseComponent, { BaseProps } from '../_base/baseComponent'; import { noop } from '@douyinfe/semi-foundation/lib/cjs/utils/function'; import { BreadContextType } from './bread-context'; export type { BreadcrumbItemInfo }; export interface RouteProps extends Route { icon?: React.ReactNode; } export interface BreadcrumbItemProps extends BaseProps { onClick?: (item: RouteProps, e: React.MouseEvent) => void; icon?: React.ReactNode; href?: string; separator?: React.ReactNode; noLink?: boolean; active?: boolean; shouldRenderSeparator?: boolean; route?: RouteProps; } type BreadcrumbItemState = Record; export default class BreadcrumbItem extends BaseComponent { static isBreadcrumbItem: boolean; static contextType: React.Context; static propTypes: { onClick: propTypes.Requireable<(...args: any[]) => any>; route: propTypes.Requireable>; name: propTypes.Requireable; children: propTypes.Requireable; active: propTypes.Requireable; shouldRenderSeparator: propTypes.Requireable; icon: propTypes.Requireable; separator: propTypes.Requireable; noLink: propTypes.Requireable; }; static defaultProps: { onClick: typeof noop; shouldRenderSeparator: boolean; }; context: BreadContextType; get adapter(): BreadcrumbItemAdapter; constructor(props: BreadcrumbItemProps); componentDidMount(): void; componentWillUnmount(): void; renderIcon: () => string | number | boolean | Iterable | React.DetailedReactHTMLElement; getTooltipOpt: () => { width: number; ellipsisPos: string; opts: { autoAdjustOverflow: boolean; position: string; }; } | { width: number; ellipsisPos: string; }; getItemInfo: () => BreadcrumbItemInfo; renderBreadItem: () => React.JSX.Element; renderItem: () => React.DetailedReactHTMLElement<{ className: string; onClick: (e: React.MouseEvent) => any; href: string; }, HTMLElement>; render(): React.JSX.Element; }