import type { Agent, AgentSession, BatchData, ImageContent, WebSocketRef } from '../types.js'; export declare abstract class BaseAgent implements Agent { abstract name: string; abstract model: string; abstract start(): Promise; abstract stop(): Promise; abstract createSession(wsRef: WebSocketRef, projectDir: string, resumeSessionId?: string): Promise; /** * Format a prompt with image metadata for agents that don't support native multimodal. * This adds text descriptions of the images to the prompt. */ protected formatPromptWithImageMetadata(prompt: string, images?: ImageContent[]): string; /** * Extract images from batch data markers * Returns an array of ImageContent objects for markers that have screenshots */ extractImages(data: BatchData): ImageContent[]; formatPrompt(data: BatchData, projectDir: string): string; }