import { VariantProps } from 'class-variance-authority';
import * as React from 'react';
declare const avatarVariants: (props?: ({
    size?: "md" | "sm" | "lg" | "xs" | "xl" | null | undefined;
    shape?: "circle" | "square" | null | undefined;
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
type AvatarShape = 'circle' | 'square';
type AvatarStatus = 'online' | 'offline' | 'away' | 'busy';
export type AvatarProps = React.ComponentProps<'div'> & VariantProps<typeof avatarVariants> & {
    status?: AvatarStatus;
};
declare function Avatar({ className, size, shape, status, children, ...props }: AvatarProps): import("react/jsx-runtime").JSX.Element;
export type AvatarImageProps = React.ComponentProps<'img'> & {
    onLoadingStatusChange?: (status: 'loading' | 'loaded' | 'error') => void;
};
declare function AvatarImage({ className, src, alt, onLoadingStatusChange, ...props }: AvatarImageProps): import("react/jsx-runtime").JSX.Element | null;
declare function AvatarFallback({ className, ...props }: React.ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
export interface AvatarGroupProps extends React.ComponentProps<'div'> {
    /** Maximum number of avatars to show before truncating */
    max?: number;
}
declare function AvatarGroup({ className, max, children, ...props }: AvatarGroupProps): import("react/jsx-runtime").JSX.Element;
export { Avatar, AvatarImage, AvatarFallback, AvatarGroup, avatarVariants, type AvatarSize, type AvatarShape, type AvatarStatus, };
//# sourceMappingURL=avatar.d.ts.map