import React, { type AriaRole } from "react"; import { type ElementAllowedColor } from "../../types/Colors"; import { type AvatarSize, type AvatarType } from "./Avatar.types"; import { type AvatarBadgeProps } from "./AvatarBadge"; import { type TooltipProps } from "@vibe/tooltip"; import { type VibeComponentProps } from "../../types"; import { type SubIcon } from "@vibe/icon"; export interface AvatarProps extends VibeComponentProps { /** * The image source for the avatar. */ src?: string; /** * The text displayed inside the avatar. */ text?: string; /** * Props passed to the Tooltip component. See full options in the [Tooltip documentation](https://vibe.monday.com/?path=/docs/components-tooltip--docs). */ tooltipProps?: Partial; /** * The ARIA label of the avatar. */ "aria-label"?: string; /** * If true, the tooltip is disabled. */ withoutTooltip?: boolean; /** * The icon displayed inside the avatar. */ icon?: SubIcon; /** * The type of the avatar. */ type?: AvatarType; /** * Class name applied to the text inside the avatar. */ textClassName?: string; /** * Class name applied to the avatar content wrapper. */ avatarContentWrapperClassName?: string; /** * The background color of the avatar. */ backgroundColor?: ElementAllowedColor; /** * A custom background color. */ customBackgroundColor?: string; /** * The ARIA role of the avatar. */ role?: AriaRole; /** * The size of the avatar. */ size?: AvatarSize; /** * A custom size in pixels. */ customSize?: number; /** * The tab index of the avatar. */ tabIndex?: number; /** * If true, the avatar is hidden from assistive technologies. */ "aria-hidden"?: boolean; /** * If true, the avatar is disabled. */ disabled?: boolean; /** * If true, renders the avatar as a square instead of a circle. */ square?: boolean; /** * Props for the top-left badge. */ topLeftBadgeProps?: AvatarBadgeProps; /** * Props for the top-right badge. */ topRightBadgeProps?: AvatarBadgeProps; /** * Props for the bottom-left badge. */ bottomLeftBadgeProps?: AvatarBadgeProps; /** * Props for the bottom-right badge. */ bottomRightBadgeProps?: AvatarBadgeProps; /** * If true, removes the avatar's border. */ withoutBorder?: boolean; /** * Callback fired when the avatar is clicked. */ onClick?: (event: React.MouseEvent | React.KeyboardEvent, avatarId: string) => void; } declare const Avatar: ({ id, type, className, avatarContentWrapperClassName, textClassName, size, src, icon, text, tooltipProps, "aria-label": ariaLabel, withoutTooltip, role, backgroundColor, square, disabled, tabIndex, "aria-hidden": ariaHidden, topLeftBadgeProps, topRightBadgeProps, bottomLeftBadgeProps, bottomRightBadgeProps, withoutBorder, customSize, customBackgroundColor, onClick, "data-testid": dataTestId }: AvatarProps) => React.JSX.Element; export default Avatar;