import React from 'react'; import PropTypes from 'prop-types'; import AvatarFoundation, { AvatarAdapter } from '@douyinfe/semi-foundation/lib/cjs/avatar/foundation'; import '@douyinfe/semi-foundation/lib/cjs/avatar/avatar.css'; import BaseComponent from '../_base/baseComponent'; import { AvatarProps } from './interface'; export * from './interface'; export interface AvatarState { isImgExist: boolean; hoverContent: React.ReactNode; focusVisible: boolean; scale: number; } export default class Avatar extends BaseComponent { static __SemiComponentName__: string; static defaultProps: any; static elementType: string; static propTypes: { children: PropTypes.Requireable; color: PropTypes.Requireable; shape: PropTypes.Requireable; size: PropTypes.Requireable; hoverMask: PropTypes.Requireable; className: PropTypes.Requireable; style: PropTypes.Requireable; gap: PropTypes.Requireable; imgAttr: PropTypes.Requireable; src: PropTypes.Requireable; srcSet: PropTypes.Requireable; alt: PropTypes.Requireable; onError: PropTypes.Requireable<(...args: any[]) => any>; onClick: PropTypes.Requireable<(...args: any[]) => any>; onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>; onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>; bottomSlot: PropTypes.Requireable any>; shape: PropTypes.Requireable; text: PropTypes.Requireable; bgColor: PropTypes.Requireable; textColor: PropTypes.Requireable; className: PropTypes.Requireable; style: PropTypes.Requireable; }>>; topSlot: PropTypes.Requireable any>; gradientStart: PropTypes.Requireable; gradientEnd: PropTypes.Requireable; text: PropTypes.Requireable; textColor: PropTypes.Requireable; className: PropTypes.Requireable; style: PropTypes.Requireable; }>>; border: PropTypes.Requireable; motion: PropTypes.Requireable; }>>>; contentMotion: PropTypes.Requireable; }; foundation: AvatarFoundation; avatarRef: React.RefObject; constructor(props: AvatarProps); get adapter(): AvatarAdapter; componentDidMount(): void; componentDidUpdate(prevProps: AvatarProps): void; componentWillUnmount(): void; onEnter(e: React.MouseEvent): void; onLeave(e: React.MouseEvent): void; handleError(): void; handleKeyDown(event: any): void; handleFocusVisible: (event: React.FocusEvent) => void; handleBlur: (event: React.FocusEvent) => void; getContent: () => React.ReactNode; renderBottomSlot: () => string | number | boolean | Iterable | React.JSX.Element; renderTopSlot: () => string | number | boolean | Iterable | React.JSX.Element; render(): React.JSX.Element; }