import type { CodecCapabilities, TransportCodec } from '../codec.js'; import type { CompletionUsage } from '../types.js'; import type { TransportId } from '../types.js'; type ToolSchemaFormat = CodecCapabilities['toolSchemaFormat']; export interface RegisterCodecOptions { aliases?: TransportId[]; override?: boolean; } export interface TransportDescriptorLike { transportId?: string; runtimeId?: string; runtimeKind?: string; id?: string; codecCapabilities?: Partial; } export declare function registerCodec(codec: TransportCodec, options?: RegisterCodecOptions): readonly TransportId[]; export declare function listRegisteredCodecs(): readonly TransportCodec[]; /** * Look up a TransportCodec by transport identifier. * Returns `undefined` when no codec has been registered for the given id. */ export declare function getCodec(transportId: TransportId): TransportCodec | undefined; export declare function getCodecForDescriptor(descriptor: TransportDescriptorLike): TransportCodec | undefined; export declare function convertTools(tools: unknown[], from: ToolSchemaFormat, to: ToolSchemaFormat): unknown[]; export declare function normalizeUsage(raw: unknown): CompletionUsage; export { AnthropicCodec } from './anthropic.js'; export { BedrockConverseCodec } from './bedrock.js'; export { GoogleCodec } from './google.js'; export { OpenAiChatCodec } from './openai-chat.js'; export { OpenAiResponsesCodec } from './openai-responses.js';