import { HTMLAttributes } from 'react';
import { IconName } from './icons/index.js';
import type { SizeKey } from './copy.js';
declare const sizeMap: {
medium: string;
large: string;
};
type Size = keyof typeof sizeMap;
type AvatarProps = {
/** Image url for the avatar */
src?: string;
/** Always provide an accessibility alt for images. Be descriptive, ie: "Jim Beam\'s profile photo" */
alt?: string;
/** Size of the avatar image/icon container */
size?: Size;
/** String value next to image. Used as a text abbreviation for the avatar if no image or icon is provided. */
label?: string;
/** Fallback icon if no image `src` or label provided */
defaultIcon?: IconName;
/** Passed as `size` prop to the `` component */
labelSize?: SizeKey;
} & HTMLAttributes;
export declare const AvatarImage: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<{
/** Image url for the avatar */
src?: string;
/** Always provide an accessibility alt for images. Be descriptive, ie: "Jim Beam\'s profile photo" */
alt?: string;
/** Size of the avatar image/icon container */
size?: Size;
/** String value next to image. Used as a text abbreviation for the avatar if no image or icon is provided. */
label?: string;
/** Fallback icon if no image `src` or label provided */
defaultIcon?: IconName;
/** Passed as `size` prop to the `` component */
labelSize?: SizeKey;
} & HTMLAttributes, never>> & string & Omit<({ alt, src, size, label, defaultIcon, ...props }: AvatarProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component>;
/**
This component displays an Avatar with optional string label. The avatar image has a rounded square container.
## Props
- **src** (img src): displays an `img`.
- Without "src" it will fallback to label abbreviations or an icon, on a grey background
- image is always centered horizontally and vertically
- the image is never skewed and always fits 100% width. Try to use square images.
- if there is a source, the background is transparent
- **defaultIcon** (IconName): overrides the final fallback icon on a grey background if no image src or label is provided
- **label** (string): displays a `p` beside the avatar image, the avatar image will add margins.
- The label is the 2nd avatar fallback if no src is provided.
- The avatar label fallback is an abbreviation of the first and last words of the label, eg: Jack Daniels Whisky -> JW
- if the label is only 1 word, it will use the first 2 characters, ie: Jack -> JA
- **size** (string): one of "medium" (32px), "large" (50px)
- **alt** (string): replaces default alt string for accessibility
*/
export declare const Avatar: import("styled-components/dist/types.js").IStyledComponentBase<"web", import("styled-components").FastOmit<{
/** Image url for the avatar */
src?: string;
/** Always provide an accessibility alt for images. Be descriptive, ie: "Jim Beam\'s profile photo" */
alt?: string;
/** Size of the avatar image/icon container */
size?: Size;
/** String value next to image. Used as a text abbreviation for the avatar if no image or icon is provided. */
label?: string;
/** Fallback icon if no image `src` or label provided */
defaultIcon?: IconName;
/** Passed as `size` prop to the `` component */
labelSize?: SizeKey;
} & HTMLAttributes, never>> & string & Omit<({ className, label, size, alt, src, defaultIcon, labelSize, ...rest }: AvatarProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component>;
export {};