import * as react_jsx_runtime from 'react/jsx-runtime';
import * as tailwind_variants from 'tailwind-variants';
import { VariantProps } from 'tailwind-variants';
import React__default from 'react';

type ImageLoadingStatus = "idle" | "loading" | "loaded" | "error";
declare const avatarVariants: tailwind_variants.TVReturnType<{
    size: {
        xs: {
            root: string;
        };
        sm: {
            root: string;
        };
        md: {
            root: string;
        };
        lg: {
            root: string;
        };
        xl: {
            root: string;
        };
    };
    shape: {
        circle: {
            root: string;
        };
        square: {
            root: string;
        };
    };
}, {
    root: string;
    image: string;
    fallback: string;
}, undefined, {
    size: {
        xs: {
            root: string;
        };
        sm: {
            root: string;
        };
        md: {
            root: string;
        };
        lg: {
            root: string;
        };
        xl: {
            root: string;
        };
    };
    shape: {
        circle: {
            root: string;
        };
        square: {
            root: string;
        };
    };
}, {
    root: string;
    image: string;
    fallback: string;
}, tailwind_variants.TVReturnType<{
    size: {
        xs: {
            root: string;
        };
        sm: {
            root: string;
        };
        md: {
            root: string;
        };
        lg: {
            root: string;
        };
        xl: {
            root: string;
        };
    };
    shape: {
        circle: {
            root: string;
        };
        square: {
            root: string;
        };
    };
}, {
    root: string;
    image: string;
    fallback: string;
}, undefined, unknown, unknown, undefined>>;
type AvatarProps = React__default.ComponentProps<"span"> & VariantProps<typeof avatarVariants>;
declare function Avatar({ className, shape, size, ...props }: AvatarProps): react_jsx_runtime.JSX.Element;
type AvatarImageProps = React__default.ComponentProps<"img"> & {
    onLoadingStatusChange?: (status: ImageLoadingStatus) => void;
};
declare function AvatarImage({ src, className, onLoadingStatusChange, ...props }: AvatarImageProps): react_jsx_runtime.JSX.Element | null;
type AvatarFallbackProps = React__default.ComponentProps<"span"> & {
    delayMs?: number;
};
declare function AvatarFallback({ className, delayMs, ...props }: AvatarFallbackProps): react_jsx_runtime.JSX.Element | null;

export { Avatar, AvatarFallback, type AvatarFallbackProps, AvatarImage, type AvatarImageProps, type AvatarProps };
