import React from 'react';
import { SIZES } from '../../constants';
import { BoxProps } from '../box/Box';
import { Shape } from './types';
export interface AvatarProps extends Omit<BoxProps, 'size' | 'ref'> {
    /** Component that will be placed top right of the avatar image. */
    children?: React.ReactNode;
    /** A class name for the wrapper to give custom styles. */
    className?: string;
    /** If true, an add user icon will be shown. */
    creatable?: boolean;
    /** If true, an overlay will be shown with edit icon. */
    editable?: boolean;
    /** The image url to show as an avatar. */
    imageUrl?: string;
    /** When no image available, avatar initials will be based on this string. */
    fullName?: string;
    /** Expects a uuid to determine the avatar initials background color. */
    id?: string;
    /** Callback function that is fired when user clicks the edit icon. */
    onImageChange?: React.MouseEventHandler<HTMLDivElement>;
    /** If true, avatars will become interactive. */
    selectable?: boolean;
    /** If true, the avatar will have a selected state. */
    selected?: boolean;
    /** The shape of the avatar. */
    shape?: Shape;
    /** The size of the avatar. */
    size?: Exclude<typeof SIZES[number], 'fullscreen' | 'smallest'>;
    /** If true, a team icon will be shown. */
    team?: boolean;
    /** If true, the name will be shown in a tooltip on hover. */
    tooltip?: boolean;
}
declare const Avatar: ({ className, selectable, selected, size, shape, tooltip, fullName, creatable, children, editable, imageUrl, id, onImageChange, team, ...others }: AvatarProps) => JSX.Element;
export default Avatar;
