import { type HTMLAttributes } from 'react';
import { type VariantProps } from 'class-variance-authority';
/** Deterministically maps a name string to one of 16 brand-hue Tailwind classes. Same name always produces the same class. */
export declare function nameToColorClass(name: string): string;
/**
* Extracts 1–2 uppercase initials:
* - Single-word name: first two characters ("John" → "JO")
* - Multi-word name: first char of first word + first char of last word ("John Doe" → "JD")
* - Parenthesised or bracketed parts and words with no letter are skipped
* ("Lucy Danvers (daughter)" → "LD"), unless nothing else is left.
*/
export declare function getInitials(name: string): string;
declare const avatarVariants: (props?: ({
size?: "sm" | "md" | "lg" | "xl" | "xs" | "2xl" | "3xl" | null | undefined;
shape?: "circle" | "rounded" | null | undefined;
ratio?: "1:1" | "4:3" | "3:4" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export interface AvatarProps extends Omit, 'color'>, VariantProps {
/** Image source URL. When provided and loads successfully, the image is displayed. */
src?: string;
/**
* Text alternative written on the photo's `
`, so it is there in the
* first HTML and for image search and crawlers that do not read ARIA. Pass
* the name of the person or place in the photo. While the photo shows, this
* text is the accessible name: the `
` is the one image assistive
* technology meets, and the wrapper drops its own `role="img"` and
* `aria-label` so nothing is announced twice. If the photo fails to load, or
* while only initials show, the wrapper keeps `role="img"` labelled with
* `name`.
*
* Leave it out and the `
` stays decorative (`alt=""`), as before.
* An empty string means the same. Added in 1.91.0.
*/
alt?: string;
/** Display name — drives initials extraction and deterministic background colour. */
name?: string;
/**
* Override the auto-generated background with any CSS colour string
* (e.g. `"var(--color-violet-700)"`).
* Applied via a CSS custom property so no `style` attribute is added to the JSX element.
* Caller is responsible for WCAG AA contrast (≥4.5:1) against white text.
*/
color?: string;
}
export declare const Avatar: import("react").ForwardRefExoticComponent>;
export {};
//# sourceMappingURL=avatar.d.ts.map