import { HTMLAttributes, ReactNode, ReactElement } from 'react'; import { CSSObject } from 'styled-components'; export declare enum AvatarV2Size { SM = "sm", REGULAR = "regular", MD = "md", LG = "lg", XL = "xl" } export declare enum AvatarV2Shape { CIRCULAR = "circular", ROUNDED = "rounded" } export declare enum AvatarV2StatusPosition { TOP_RIGHT = "topRight", BOTTOM_RIGHT = "bottomRight", TOP_LEFT = "topLeft", BOTTOM_LEFT = "bottomLeft" } export declare enum AvatarV2Status { NONE = "none", ONLINE = "online", OFFLINE = "offline", AWAY = "away", BUSY = "busy" } export declare enum AvatarV2Variant { IMAGE = "image", TEXT = "text", ICON = "icon" } export type AvatarV2SkeletonConfig = { show: boolean; variant?: 'pulse' | 'wave'; }; export type AvatarV2StatusConfig = { type: AvatarV2Status; position?: AvatarV2StatusPosition; }; export type AvatarV2Dimensions = { width?: CSSObject['width']; height?: CSSObject['height']; }; export type AvatarV2Props = { src?: string; alt?: string; fallbackText?: string; size?: AvatarV2Size; shape?: AvatarV2Shape; status?: AvatarV2StatusConfig; leftSlot?: ReactElement; rightSlot?: ReactElement; skeleton?: AvatarV2SkeletonConfig; backgroundColor?: string; disabled?: boolean; onImageError?: (error: Error) => void; onImageLoad?: () => void; } & Omit, 'children' | 'className' | 'style'> & AvatarV2Dimensions; export type AvatarV2ImageProps = { src: string; alt: string; onError: () => void; onLoad?: () => void; }; export type AvatarV2FallbackProps = { children: ReactNode; backgroundColor?: string; }; export type AvatarV2StatusIndicatorProps = { status: AvatarV2Status; position: AvatarV2StatusPosition; size: AvatarV2Size; }; export type AvatarV2GroupProps = { avatars: Omit[]; max?: number; size?: AvatarV2Size; spacing?: 'tight' | 'normal' | 'loose'; } & Omit, 'children'>;