import type { TokenBatch } from './inference-types.js'; import { type ChatInput, type EmbedOptions, type EmbeddingResult, type EndpointRef, type GenerationResult, type ProviderEndpointOptions, type QueryInput, type QueryOptions } from '../models/types.js'; type ProviderKind = 'openai' | 'anthropic' | 'openai_compatible'; export interface ProviderEndpoint { readonly id: string; readonly provider: ProviderKind; readonly model: string; readonly baseUrl: string; readonly apiKey?: string; readonly keyProvider?: () => string | Promise; readonly timeoutMs?: number; readonly version?: string; readonly authHeaderName?: string; readonly authHeaderValue?: string; readonly authHeaderValueProvider?: () => string | Promise; readonly staticHeaders: readonly { readonly name: string; readonly value: string; }[]; } /** Registry for browser direct provider endpoints. */ export declare class ProviderEndpointRegistry { #private; prepare(id: string, options: ProviderEndpointOptions): ProviderEndpoint; commit(provider: ProviderEndpoint): EndpointRef; remove(id: string): boolean; get(endpoint: EndpointRef | undefined): ProviderEndpoint | null; } /** Run a browser query request through a direct provider endpoint. */ export declare function runProviderQuery(endpoint: ProviderEndpoint, input: QueryInput, options: QueryOptions, tokenBatchSink: ((batch: TokenBatch) => void) | undefined, signal: AbortSignal): Promise; /** Run a browser chat request through a direct provider endpoint. */ export declare function runProviderChat(endpoint: ProviderEndpoint, input: ChatInput, options: QueryOptions, tokenBatchSink: ((batch: TokenBatch) => void) | undefined, signal: AbortSignal): Promise; /** Run a browser embedding request through a direct provider endpoint. */ export declare function runProviderEmbedding(endpoint: ProviderEndpoint, input: string, options: EmbedOptions, signal: AbortSignal): Promise; export {};