import type { ReactNode, FC } from "react"; /** * The sizes defined by the design system. Their actual dimensions come * from the semantic size tokens in `avatarSizeTokens`, so they follow * the design whenever the tokens are re-exported. */ type AvatarSize = "xs" | "s" | "m"; /** * Union to prevent both "initials" and "children" to be used at the same time. */ type BaseProps = { initials: string; children?: never; } | { children: ReactNode; initials?: never; }; type Props = { src?: string; /** * Put the name of the person here, so less sighted * users can know who the avatar belongs to. * * In case of rendering the default image or the * initials, this will also be used as the `alt` text. */ alt?: string; /** * @default "m" */ size?: AvatarSize; /** * Whether the avatar belongs to the current user. Self avatars are * rendered in the brand color, everyone else in neutral. * * @default false */ isSelf?: boolean; /** * URL to an image to be used as the default image. * If this is set, the image provided via `src` will never render. */ defaultImage?: string; className?: string; /** * Sometimes avatars are rendered in a group. Setting this to `true` * makes it so that the avatars overlap each other a bit, as designed. */ applyGroupOffset?: boolean; } & BaseProps; /** * Displays a badge-style avatar. Keep in mind that * you can only use `initials` or `children`, not both. * * @example * // Using initials * * * @example * // Using children * * Jane Doe * */ export declare const Avatar: FC; export {};