import { type HTMLAttributes } from 'react';
import { type OverrideClassName } from "../types/OverrideClassName";
export type AvatarSizes = 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
type BaseAvatarProps = {
/**
* We use this for the alt text of the avatar, and to derive intials when user has no avatar image.
*/
fullName?: string;
/**
* There are 5 fixed avatar sizes. `"small"` will remove border and box shadow to save space.
*/
size?: AvatarSizes;
/**
* Src for the avatar img tag - if not passed we will derive initials from the full name.
* Note that the fullName prop will be used as the alt text.
*/
avatarSrc?: string;
/**
* Default behaviour when an avatarSrc is not provided is to generate initials from the username.
* This disables this feature and shows the generic avatar.
* Enable this prop when there is no specific individual or group identified.
*/
disableInitials?: boolean;
/**
* Renders Company Avatar variant - If true `fullName` and `avatarSrc` will be strictly typed.
*/
isCompany?: boolean;
/**
* Control of the alt property on the img (or title when initials are rendered)
* Defaults to the fullName if provided, otherwise an empty string
*/
alt?: string;
} & OverrideClassName>;
export type GenericAvatarProps = BaseAvatarProps & {
isCompany?: false;
/**
* Shows a different background colour if the avatar is the current user and does not have a avatar img.
* @default "true"
*/
isCurrentUser?: boolean;
};
export type CompanyAvatarProps = BaseAvatarProps & {
fullName: string;
avatarSrc: string;
disableInitials?: undefined;
isCompany: true;
isCurrentUser?: undefined;
};
export type AvatarProps = GenericAvatarProps | CompanyAvatarProps;
/**
* {@link https://cultureamp.atlassian.net/wiki/spaces/DesignSystem/pages/3064857475/Avatar Guidance} |
* {@link https://cultureamp.design/?path=/docs/components-avatar-avatar--docs Storybook}
*/
export declare const Avatar: ({ fullName, size, avatarSrc, disableInitials, isCompany, isCurrentUser, alt, classNameOverride, ...restProps }: AvatarProps) => JSX.Element;
export {};