export interface ImageModel { id: string; name: string; provider: string; description?: string; pricing?: string; inputModalities: string[]; outputModalities: string[]; modalities: string[]; supportedAspectRatios?: string[]; supportedSizes?: string[]; } export interface GenerateImageRequest { prompt: string; model?: string; provider?: string; aspectRatio?: string; imageSize?: string; negativePrompt?: string; steps?: number; seed?: number; n?: number; } export interface GenerateImageResult { images: GeneratedImage[]; model: string; provider: string; usage?: { promptTokens?: number; totalTokens?: number; cost?: number; }; } export interface GeneratedImage { base64: string; mimeType: string; url?: string; } export interface ImageProvider { name: string; listModels(): Promise; generateImage(request: GenerateImageRequest): Promise; }