import { EventEmitter } from '@angular/core';
import { UserAvatarMetadata } from './types';
import * as i0 from "@angular/core";
/**
* `val-user-avatar`
*
* Avatar **smart** con cadena de fallback automática:
*
* foto (`avatarUrl`) → iniciales (de `name`/`email`) → icono persona.
*
* Si la imagen falla en cargar (404, CORS, etc.), automáticamente cae a las
* iniciales sin que el caller tenga que hacer nada. Color de fondo derivado
* deterministicamente del user para que el mismo user tenga siempre el mismo
* color (a menos que `background` se sobrescriba).
*
* @example
* ```html
*
* ```
*/
export declare class UserAvatarComponent {
private readonly props_;
private readonly imageFailed;
/** Indica si el `
` actual disparó su evento `load`. Conduce el fade-in. */
protected readonly imageLoaded: import("@angular/core").WritableSignal;
set props(value: UserAvatarMetadata | undefined);
onClick: EventEmitter;
/** Subscribers — usado para condicionar cursor/aria. */
get hasClick(): boolean;
readonly resolvedProps: import("@angular/core").Signal;
/** Resuelve los campos del user (user prop > campos sueltos). */
private readonly resolvedUser;
/**
* URL de imagen. Empty si la última carga falló — eso evita re-intentar
* con la misma URL cuando el browser ya marcó error. El placeholder
* (iniciales/icono) sigue visible debajo.
*/
readonly imageUrl: import("@angular/core").Signal;
/** Iniciales — 1-2 chars derivados de name (preferred) o email prefix. */
readonly initials: import("@angular/core").Signal;
readonly sizeClass: import("@angular/core").Signal<"small" | "medium" | "large" | "xlarge" | "xsmall">;
readonly shapeClass: import("@angular/core").Signal<"circle" | "square">;
/** Background — explicito o derivado deterministicamente del user. */
readonly bgColor: import("@angular/core").Signal;
readonly ariaLabel: import("@angular/core").Signal;
onImageError(): void;
onImageLoad(): void;
/**
* Hash determinista string → HSL color del rango Valtech (purples/blues).
* Mismo seed → mismo color (consistencia entre sessions).
*/
private colorFromSeed;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}