/** * Vision Model wrapper using aisuite for LLM communication */ import { Client } from 'aisuite'; import { TokenUsage } from '../interfaces'; export interface VisionModelConfig { model: string; apiKey: string; apiBase?: string; imageQuality?: string; maxTokens?: number; temperature?: number; } export declare abstract class VisionModel { protected model: string; protected apiKey: string; protected apiBase?: string; imageQuality: string; protected maxTokens: number; protected temperature: number; protected client: Client | null; protected lastTokenUsage: TokenUsage; constructor(config: VisionModelConfig); protected abstract getClient(): Client; protected convertImageToBase64(image: Buffer | string): Promise; protected optimizeImage(image: Buffer | string): Promise; protected logTokenUsage(usage: TokenUsage): void; getTokenUsage(): TokenUsage; getModelName(): string; processImageAsync(image: Buffer | string | Array, prompt: string): Promise; processImage(image: Buffer | string | Array, prompt: string): Promise; processTextAsync(messages: Array<{ role: string; content: string; }>): Promise; } //# sourceMappingURL=vision-model.d.ts.map