import { ComponentPropsWithoutRef } from 'react';
import { LayoutUtilProps, Size } from '../../../types';
/**
 * Props for the AvatarBase component
 * @extends ComponentPropsWithoutRef<"span">
 * @extends Omit<LayoutUtilProps, "flex" | "flexBasis" | "flexGrow" | "flexShrink">
 */
export type AvatarBaseProps = ComponentPropsWithoutRef<"span"> & Omit<LayoutUtilProps, "flex" | "flexBasis" | "flexGrow" | "flexShrink"> & {
    /**
     * Full name
     * @accessibility This is used for alt text and Screenreader
     */
    name: string;
    /**
     * Custom color of the AvatarBase
     */
    color?: string;
    /**
     * Image source to be used for AvatarBase
     */
    image?: string;
    /**
     * Initials to display if no image is provided
     */
    initials?: string;
    /**
     * @default medium
     */
    size?: Extract<Size, "xsmall" | "small" | "medium" | "large">;
    /**
     * Online status of the AvatarBase
     */
    status?: "online" | "offline";
};
/**
 * Base Avatar component that handles the core avatar functionality.
 *
 * Features:
 * - Renders user avatars with images or initials
 * - Supports custom colors with accessible contrast
 * - Shows online/offline status indicator
 * - Handles image loading errors gracefully
 * - Supports light and dark themes
 * - Fully accessible with screen reader support
 *
 * @example
 * <AvatarBase name="John Doe" size="medium" status="online" />
 */
export declare const AvatarBase: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & Omit<LayoutUtilProps, "flex" | "flexGrow" | "flexShrink" | "flexBasis"> & {
    /**
     * Full name
     * @accessibility This is used for alt text and Screenreader
     */
    name: string;
    /**
     * Custom color of the AvatarBase
     */
    color?: string;
    /**
     * Image source to be used for AvatarBase
     */
    image?: string;
    /**
     * Initials to display if no image is provided
     */
    initials?: string;
    /**
     * @default medium
     */
    size?: Extract<Size, "xsmall" | "small" | "medium" | "large">;
    /**
     * Online status of the AvatarBase
     */
    status?: "online" | "offline";
} & import('react').RefAttributes<HTMLSpanElement>>;
