import { AnthropicClient, AnthropicLanguageModel } from "@effect/ai-anthropic"; import { ModelRegistry } from "@batonfx/core"; import type { ModelRegistryFacade } from "@batonfx/core"; import { Config as EffectConfig, Layer, Redacted } from "effect"; import { HttpClient } from "effect/unstable/http"; import type { RegistrationOptions } from "./openai.js"; /** @experimental */ export interface AnthropicInput extends RegistrationOptions { readonly model: (string & {}) | AnthropicLanguageModel.Model; readonly config?: Config; } /** @experimental */ export type Config = Omit; /** @experimental Decodes persisted provider options into Anthropic request configuration. */ export declare const decodeConfig: (options: unknown) => Config; /** @experimental Effective Anthropic request config; callers opt into top-level automatic caching. */ export declare const resolvedConfig: (input: AnthropicInput) => Config; /** @experimental */ export declare const classifyFailure: ModelRegistry.FailureClassifier; /** @experimental */ export declare const toolJsonSchemaCompiler: ModelRegistry.ToolJsonSchemaCompiler; /** @experimental */ export interface LayerOptions extends AnthropicInput { readonly apiKey: EffectConfig.Config>; readonly clientConfig?: Omit[0]>, "apiKey">; } /** @experimental */ export declare const layer: (input: LayerOptions) => Layer.Layer; /** @experimental Bare registration effect; the consumer provides the Anthropic client (see layerConfig). */ export declare const registration: (input: AnthropicInput) => ReturnType; /** @experimental */ export declare const layerConfig: (options?: { readonly apiKey?: EffectConfig.Config | undefined> | undefined; readonly apiUrl?: EffectConfig.Config | undefined; readonly apiVersion?: EffectConfig.Config | undefined; readonly transformClient?: ((client: HttpClient.HttpClient) => HttpClient.HttpClient) | undefined; }) => Layer.Layer;