/** * Port: AvatarGenerationPort * * Defines the contract for AI-powered avatar generation. */ import type { RacingSuitColor, AvatarStyle } from '../../domain/types/AvatarGenerationRequest'; export interface AvatarGenerationOptions { facePhotoUrl: string; prompt: string; suitColor: RacingSuitColor; style: AvatarStyle; count: number; } export interface GeneratedAvatar { url: string; thumbnailUrl?: string; } export interface AvatarGenerationResult { success: boolean; avatars: GeneratedAvatar[]; errorMessage?: string; } export interface AvatarGenerationPort { /** * Generate racing avatars from a face photo * @param options Generation options including face photo and styling preferences * @returns Generated avatar URLs */ generateAvatars(options: AvatarGenerationOptions): Promise; }