import { ToolResult } from "../types/index.js"; import { ToolDiscovery } from "./tool-discovery.js"; import type { LLMAgent } from "../agent/llm-agent"; export declare class ImageTool implements ToolDiscovery { private agent; setAgent(agent: LLMAgent): void; getHandledToolNames(): string[]; /** * Generate an image using AI image generation. * Uses generate_image_sd.sh script with Stable Diffusion. */ generateImage(prompt: string, negativePrompt?: string, width?: number, height?: number, model?: string, sampler?: string, configScale?: number, numSteps?: number, nsfw?: boolean, name?: string, move?: boolean, seed?: number): Promise; /** * Caption an image using AI image captioning. * Uses joycaption.sh or fastcaption.sh script. */ captionImage(filename: string, backend?: "joy" | "fast"): Promise; /** * Compare an AI-generated image to its original generation prompt. * Extracts the prompt from PNG metadata using exiftool, captions the image, and analyzes match. */ compareImageToPrompt(filename: string): Promise; /** * Extract PNG metadata (generation settings) from a PNG file. * Uses exiftool to read embedded generation parameters. */ pngInfo(filename: string): Promise; /** * List available Stable Diffusion models installed on the server. * Uses generate_image_sd.sh --list-models. */ listImageModels(): Promise; /** * List available LoRA models installed on the server. * Uses generate_image_sd.sh --list-loras. */ listImageLoras(): Promise; /** * Get detailed information about a specific LoRA model. * Uses generate_image_sd.sh --get-lora-details. */ getLoraDetails(loraName: string): Promise; /** * Extract text from image files using OCR (Optical Character Recognition). * Uses extract-text.sh with tesseract/textra for text extraction. */ extractTextFromImage(filename: string): Promise; }