import * as React from 'react';
export type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
export type IndicatorType = 'online' | 'away' | 'busy' | 'offline' | '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?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | null | undefined;
    shape?: "circle" | "rounded" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export interface AvatarProps {
    /** Avatar size */
    size?: AvatarSize;
    /** Avatar shape - circle (default) or rounded (8px corners) */
    shape?: AvatarShape;
    /** Avatar type - determines content rendering */
    type?: AvatarType;
    /** Ring border - 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<AvatarProps & React.RefAttributes<HTMLDivElement>>;
export interface AvatarGroupProps extends React.HTMLAttributes<HTMLDivElement> {
    /** Maximum number of avatars to display before showing count */
    max?: number;
    /** Size of avatars in the group */
    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): import("react/jsx-runtime").JSX.Element;
declare namespace AvatarGroup {
    var displayName: string;
}
export { Avatar, AvatarGroup };
