import type { ToolResult, Usage } from "@velum-labs/routekit-contracts/protocol-ir"; import type { OpenAiChoice } from "../adapters/openai-chat-wire.js"; export declare class ProviderProtocolError extends Error { readonly provider: string; readonly operation: string; readonly payloadSnippet?: string; constructor(provider: string, operation: string, message: string, payload?: unknown, options?: ErrorOptions); } export type ProviderRecord = Readonly>; export type OpenAiChatResponse = ProviderRecord & { readonly id?: string; readonly choices: OpenAiChoice[]; readonly usage?: Usage; readonly provider_cost?: unknown; }; export type OpenAiChatSseEvent = ProviderRecord & { readonly choices: OpenAiChoice[]; readonly usage?: Usage | null; readonly provider_cost?: unknown; readonly error?: Readonly<{ message?: string; type?: string; code?: string; }>; }; export type OpenAiResponsesEvent = ProviderRecord & { readonly type: string; }; export type AnthropicSseEvent = ProviderRecord & { readonly type: string; }; export type GoogleGenerateContent = ProviderRecord & { readonly candidates: readonly ProviderRecord[]; readonly usageMetadata?: ProviderRecord; }; export type ModelCatalogEntry = ProviderRecord & { readonly id: string; }; export type ModelCatalogPayload = ProviderRecord & { readonly data: ModelCatalogEntry[]; }; export declare function isProviderRecord(value: unknown): value is ProviderRecord; export declare function decodeProviderJson(provider: string, operation: string, value: unknown): ProviderRecord; export declare function decodeModelCatalogPayload(value: unknown, provider?: string): ModelCatalogPayload; export declare function decodeOpenAiChatResponse(value: unknown): OpenAiChatResponse; export declare function decodeOpenAiChatSseEvent(value: unknown): OpenAiChatSseEvent; export declare function decodeOpenAiResponsesEvent(value: unknown, eventType?: string): OpenAiResponsesEvent; export declare function decodeAnthropicSseEvent(value: unknown, eventType?: string): AnthropicSseEvent; export declare function decodeGoogleGenerateContent(value: unknown): GoogleGenerateContent; export declare function decodeOpenAiToolCalls(value: unknown): readonly ProviderRecord[]; export declare function decodeToolResult(provider: string, value: unknown, options?: { toolCallId?: string; isError?: boolean; }): ToolResult; export declare function decodeOpenAiWebSearchResult(value: unknown): ToolResult; export declare function decodeAnthropicWebSearchResult(value: unknown): ToolResult;