import { SyntheticEvent } from 'react';
import { SizeToken } from '../lib/size';
export type AvatarVariant = "duotone" | "solid" | "stamp" | "mono";
export type AvatarKind = "user" | "group";
export type AvatarProps = {
    src?: string;
    alt: string;
    initials?: string;
    /**
     * Named size token (xs..xl). The rendered px is resolved through the active
     * density (`compact` shrinks, `spacious` grows). Size also drives typographic
     * adjustments: `xs` shows a single initial; `sm` uses a lighter weight so the
     * monogram stays quiet in dense list rows.
     */
    size?: SizeToken;
    rounded?: "full" | "md";
    kind?: AvatarKind;
    variant?: AvatarVariant;
    title?: string;
    href?: string;
    /**
     * Selects the palette color for the initial-fallback. Defaults to `alt` so
     * repeated rendering of the same identity stays consistent. Pass the full
     * "owner/name" for repo avatars so two repos named "cli" under different
     * orgs render with different colors.
     */
    colorKey?: string;
    onError?: (e: SyntheticEvent<HTMLImageElement>) => void;
    className?: string;
};
export declare function Avatar({ src, alt, initials, size, rounded, kind, variant, title, href, colorKey, onError, className, }: AvatarProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=Avatar.d.ts.map