import { OpenRouterClient, OpenRouterLanguageModel } from "@effect/ai-openrouter"; 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 type Config = Omit; /** @experimental */ export interface OpenRouterInput extends RegistrationOptions { readonly model: string; readonly config?: Config; } /** @experimental Decodes persisted provider options into OpenRouter request configuration. */ export declare const decodeConfig: (options: unknown) => Config; /** @experimental */ export declare const classifyFailure: ModelRegistry.FailureClassifier; /** @experimental */ export interface LayerOptions extends OpenRouterInput { readonly apiKey: Config.Config>; readonly clientConfig?: Omit[0]>, "apiKey">; } /** @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 siteReferrer?: Config.Config | undefined; readonly siteTitle?: Config.Config | undefined; readonly transformClient?: ((client: HttpClient.HttpClient) => HttpClient.HttpClient) | undefined; }) => Layer.Layer;