import React from 'react';
import { type ComposableProps } from '../../../lib/slot';
import { AvatarImage } from './AvatarImage';
import { AvatarFallback } from './AvatarFallback';
export type AvatarSize = "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
export type AvatarShape = "circle" | "square";
export interface AvatarProps extends ComposableProps<'div'> {
size?: AvatarSize | number;
shape?: AvatarShape;
src?: string | React.ReactNode;
icon?: React.ReactNode;
alt?: string;
gap?: number;
className?: string;
style?: React.CSSProperties;
}
export interface AvatarGroupProps {
maxCount?: number;
maxStyle?: React.CSSProperties;
maxPopoverPlacement?: 'top' | 'bottom';
size?: AvatarSize;
shape?: AvatarShape;
children?: React.ReactNode;
className?: string;
}
/**
* Avatar Component
*
* A composable component for displaying user avatars.
* Supports both composable API (recommended) and declarative API (deprecated).
*
* @public
*
* @example
* ```tsx
* // Composable API (recommended)
*