import * as React from 'react'; export type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'; export type IndicatorType = 'online' | 'away' | 'busy' | 'offline' | 'success' | 'verified' | 'upload' | 'edit'; export type AvatarShape = 'circle' | 'rounded'; export type AvatarType = 'image' | 'initials' | 'icon'; export type RingColor = 'primary' | 'success' | 'warning' | 'destructive'; export type IndicatorPosition = 'top-right' | 'bottom-right'; export type AvatarGroupVariant = 'default' | 'pill'; export type SoftColor = 'primary' | 'indigo' | 'purple' | 'success' | 'warning' | 'slate'; export declare const avatarVariants: (props?: ({ size?: "2xl" | "lg" | "md" | "sm" | "xl" | "xs" | null | undefined; shape?: "circle" | "rounded" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; export interface AvatarProps { /** Avatar size */ size?: AvatarSize; /** Avatar shape - rounded (default) or circle */ shape?: AvatarShape; /** Avatar type - determines content rendering */ type?: AvatarType; /** Ring outline - boolean uses primary, or specify color */ ring?: boolean | RingColor; /** Indicator overlay */ indicator?: IndicatorType; /** Position of the indicator - top-right (default) or bottom-right */ indicatorPosition?: IndicatorPosition; /** Soft background color for icon type */ softColor?: SoftColor; /** Image source URL */ src?: string; /** Alt text for the image */ alt?: string; /** Fallback text to generate initials from */ fallback?: string; /** Custom icon for type="icon" */ icon?: React.ReactNode; /** Additional CSS classes */ className?: string; } declare const Avatar: React.ForwardRefExoticComponent>; export interface AvatarGroupProps extends React.HTMLAttributes { /** Maximum number of avatars to display before showing count */ max?: number; /** Size of avatars in the group (lg by default) */ size?: AvatarSize; /** Children (Avatar components) */ children: React.ReactNode; /** Visual variant - default or pill (with container) */ variant?: AvatarGroupVariant; /** Text template for pill variant, use {count} for overflow number */ pillText?: string; /** Show the add more button */ showAddButton?: boolean; /** Callback when add button is clicked */ onAddClick?: () => void; } declare function AvatarGroup({ max, size, children, className, variant, pillText, showAddButton, onAddClick, ...props }: AvatarGroupProps): React.JSX.Element; declare namespace AvatarGroup { var displayName: string; } export { Avatar, AvatarGroup };