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 `<Copy>` component */
    labelSize?: SizeKey;
} & HTMLAttributes<HTMLDivElement>;
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 `<Copy>` component */
    labelSize?: SizeKey;
} & HTMLAttributes<HTMLDivElement>, never>> & string & Omit<({ alt, src, size, label, defaultIcon, ...props }: AvatarProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
/**
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 `<Copy>` component */
    labelSize?: SizeKey;
} & HTMLAttributes<HTMLDivElement>, never>> & string & Omit<({ className, label, size, alt, src, defaultIcon, labelSize, ...rest }: AvatarProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
export {};
