import { LanguageModelRegistry, LanguageModelStatus, ReasoningApi, ReasoningSupport } from '@theia/ai-core'; import { Anthropic } from '@anthropic-ai/sdk'; import type { ModelInfo } from '@anthropic-ai/sdk/resources/models'; import { AnthropicLanguageModelsManager, AnthropicModelDescription } from '../common'; import { ILogger } from '@theia/core'; interface ResolvedModelMetadata { maxInputTokens?: number; maxTokens: number; reasoningSupport?: ReasoningSupport; reasoningApi?: ReasoningApi; supportsXHighEffort?: boolean; serverSideCompactionSupport: boolean; } export declare class AnthropicLanguageModelsManagerImpl implements AnthropicLanguageModelsManager { protected _apiKey: string | undefined; protected _proxyUrl: string | undefined; protected readonly modelInfoCache: Map>; protected readonly languageModelRegistry: LanguageModelRegistry; protected readonly logger: ILogger; get apiKey(): string | undefined; createOrUpdateLanguageModels(...modelDescriptions: AnthropicModelDescription[]): Promise; protected createOrUpdateLanguageModel(modelDescription: AnthropicModelDescription): Promise; /** `maxTokens` falls back to {@link DEFAULT_MAX_TOKENS} since the Messages API requires it. */ protected resolveMetadata(description: AnthropicModelDescription, apiKey: string | undefined, proxyUrl: string | undefined): Promise; /** * Server-side compaction (`compact_20260112`) is available on Claude Opus and Sonnet 4.6 and later. * Heuristic over the model id; override to read the capability from the `/v1/models` endpoint or for custom endpoints. */ protected deriveServerSideCompactionSupport(description: AnthropicModelDescription): boolean; protected fetchModelInfo(modelDescription: AnthropicModelDescription, apiKey: string | undefined, proxyUrl: string | undefined): Promise; protected retrieveModelInfo(modelDescription: AnthropicModelDescription, apiKey: string, proxyUrl: string | undefined): Promise; /** Adaptive thinking (`effort`) is preferred when available; older 4.x models only support the legacy extended thinking (`budget`) API. */ protected deriveReasoningApi(info: ModelInfo | undefined): ReasoningApi | undefined; protected deriveSupportsXHighEffort(info: ModelInfo | undefined): boolean | undefined; removeLanguageModels(...modelIds: string[]): void; setApiKey(apiKey: string | undefined): void; setProxyUrl(proxyUrl: string | undefined): void; protected calculateStatus(modelDescription: AnthropicModelDescription, effectiveApiKey: string | undefined): LanguageModelStatus; } export {}; //# sourceMappingURL=anthropic-language-models-manager-impl.d.ts.map