type AvatarImageLoadingStatus = "idle" | "loading" | "loaded" | "error"; type AvatarLoadingStatusChangeDetails = { previousStatus: AvatarImageLoadingStatus; status: AvatarImageLoadingStatus; event?: Event; }; type AvatarOptions = { onLoadingStatusChange?: (status: AvatarImageLoadingStatus, details: AvatarLoadingStatusChangeDetails) => void; }; type AvatarSetLoadingStatusOptions = { emit?: boolean; event?: Event; }; type AvatarInstance = { readonly root: HTMLElement; destroy(): void; getImageLoadingStatus(): AvatarImageLoadingStatus; refresh(): void; setImageLoadingStatus(status: AvatarImageLoadingStatus, options?: AvatarSetLoadingStatusOptions): void; subscribe(event: "loadingStatusChange", callback: (details: AvatarLoadingStatusChangeDetails) => void): () => void; }; declare function createAvatar(root: HTMLElement, options?: AvatarOptions): AvatarInstance; export { type AvatarImageLoadingStatus, type AvatarInstance, type AvatarLoadingStatusChangeDetails, type AvatarOptions, type AvatarSetLoadingStatusOptions, createAvatar };