import * as React from "react";
declare const sizeClasses: {
    readonly sm: "size-6 !text-[10px]";
    readonly md: "size-8 text-sm";
    readonly lg: "size-10 text-base";
};
export type AvatarSize = keyof typeof sizeClasses;
export type AvatarProps = {
    /** Avatar image URL. When present and it loads, the picture is shown; otherwise initials. */
    src?: string | null;
    /** User's name (or display name) used to derive initials and as the default tooltip. */
    name?: string;
    size?: AvatarSize;
    /** Inline background for the initials fallback (e.g. a server-assigned `session.color`). */
    fallbackColor?: string;
    /** Tailwind classes for the initials fallback (e.g. from `getFeedbackAvatarClassName`). */
    fallbackClassName?: string;
    /** Adds a white ring, used when overlapping avatars in a stack. */
    bordered?: boolean;
    title?: string;
    className?: string;
};
/** Up to two initials, ignoring any domain prefix like "sitecore\\jdoe". */
export declare function getAvatarInitials(name?: string): string;
/**
 * Shared user avatar: renders the uploaded picture when available, falling back to an initials
 * circle. Supports both fallback styling conventions in the codebase — an inline `fallbackColor`
 * (presence, which carries `session.color`) and a `fallbackClassName` (reviews, hash-palette).
 */
export declare function Avatar({ src, name, size, fallbackColor, fallbackClassName, bordered, title, className, }: AvatarProps): React.JSX.Element;
export {};
