/**
* @fileoverview Avatar — user profile image with size variants and hover scale animation.
* @module packages/ui/components/ui/avatar
* @layer core
*
* Self-contained implementation built on Radix Avatar primitive. Supports
* three size variants (sm, default, lg) and includes a subtle hover scale
* transition. Provides fallback initials when the image fails to load.
*
* @component
* @example
* import { Avatar, AvatarImage, AvatarFallback } from "@saasflare/ui";
*
*
*
* JD
*
*/
import * as React from "react";
import * as AvatarPrimitive from "@radix-ui/react-avatar";
import { type SaasflareComponentProps } from "../../providers";
/**
* Props for {@link Avatar}.
*
* Extends the Radix Avatar root props and {@link SaasflareComponentProps} so
* `surface`, `radius`, `animated`, and `iconWeight` can be supplied
* per-instance or inherited from .
*/
interface AvatarProps extends Omit, keyof SaasflareComponentProps>, SaasflareComponentProps {
/** Visual size. `"default"` is a deprecated alias for `"md"`. */
size?: "sm" | "md" | "lg" | "default";
}
/**
* User avatar with size variants and a subtle hover-scale animation. Built on
* the Radix Avatar primitive — compose with {@link AvatarImage} and
* {@link AvatarFallback}; wrap several in {@link AvatarGroup} for an
* overlapping stack.
*
* @component
* @layer core
*
* @example
*
*
* JD
*
*/
declare function Avatar({ className, size, surface, radius, animated, iconWeight, ...props }: AvatarProps): import("react/jsx-runtime").JSX.Element;
/**
* Avatar image — fills the circle once the source has loaded; until then
* {@link AvatarFallback} renders.
*
* @component
* @layer core
*/
declare function AvatarImage({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element;
/**
* Fallback initials shown while the avatar image loads or when it fails.
*
* @component
* @layer core
*/
declare function AvatarFallback({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element;
/**
* Status badge anchored to the avatar's bottom-right corner, scaled to the
* avatar size.
*
* @component
* @layer core
*/
declare function AvatarBadge({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
/**
* Overlapping stack of avatars separated by background-colored rings.
*
* @component
* @layer core
*/
declare function AvatarGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
/**
* Overflow count bubble (e.g. "+3") rendered at the end of an
* {@link AvatarGroup}.
*
* @component
* @layer core
*/
declare function AvatarGroupCount({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
export { Avatar, AvatarImage, AvatarFallback, AvatarBadge, AvatarGroup, AvatarGroupCount, type AvatarProps, };