/** * Anthropic AI Client — Singleton wrapper for the Anthropic SDK. * * Provides structured completion, streaming, and JSON extraction. * Gracefully degrades when no API key is set — Memoire works * as a Claude Code tool without it, but gets stronger with it. */ import { TokenTracker } from "./token-tracker.js"; import type { AIResponse, AICompletionOptions, ModelTier } from "./types.js"; export declare class AnthropicClient { private sdk; readonly tracker: TokenTracker; constructor(apiKey: string); complete(opts: AICompletionOptions): Promise; stream(opts: AICompletionOptions): AsyncGenerator; /** * Analyze an image with a text prompt — multimodal vision. * Returns structured text analysis of the provided screenshot. */ vision(opts: { system: string; prompt: string; imageBase64: string; mediaType?: "image/png" | "image/jpeg" | "image/gif" | "image/webp"; model?: ModelTier; maxTokens?: number; temperature?: number; }): Promise; /** * Analyze an image and return structured JSON — multimodal + JSON extraction. */ visionJSON(opts: { system: string; prompt: string; imageBase64: string; mediaType?: "image/png" | "image/jpeg" | "image/gif" | "image/webp"; schema?: import("zod").ZodSchema; model?: ModelTier; maxTokens?: number; }): Promise; completeJSON(opts: AICompletionOptions & { schema?: import("zod").ZodSchema; }): Promise; } export declare function getAI(): AnthropicClient | null; export declare function hasAI(): boolean; export declare function getTracker(): TokenTracker | null;