import { OpenAiClient, OpenAiLanguageModel } from "@effect/ai-openai-compat"; import { ModelRegistry } from "@batonfx/core"; import { Config, Layer, Redacted } from "effect"; import { HttpClient } from "effect/unstable/http"; import type { RegistrationOptions } from "./openai.js"; /** @experimental */ export interface OpenAiCompatibleInput extends RegistrationOptions { readonly provider?: string; readonly model: string; readonly config?: Omit; readonly classifyFailure?: ModelRegistry.FailureClassifier; } /** @experimental */ export declare const toolJsonSchemaCompiler: ModelRegistry.ToolJsonSchemaCompiler; /** @experimental */ export interface LayerOptions extends OpenAiCompatibleInput { readonly apiKey?: Config.Config>; readonly baseUrl?: string; readonly clientConfig?: Omit[0]>, "apiKey" | "apiUrl">; } /** @experimental */ export declare const layer: (input: LayerOptions) => Layer.Layer; /** @experimental */ export declare const layerConfig: (options?: { readonly apiKey?: Config.Config | undefined> | undefined; readonly apiUrl?: Config.Config | undefined; readonly organizationId?: Config.Config | undefined> | undefined; readonly projectId?: Config.Config | undefined> | undefined; readonly transformClient?: ((client: HttpClient.HttpClient) => HttpClient.HttpClient) | undefined; }) => Layer.Layer;