import { type BrowserCachePolicyOptions } from '../models/asset-store.js'; import { type SippClient as SippClientShape, type BrowserEmbeddingRun, type BrowserTextRun, type ChatInput, type ChatOptions, type EmbedOptions, type EndpointDescriptor, type EndpointRef, type EngineEvent, type EngineObservability, type EngineState, type ModelStore, type QueryInput, type QueryOptions } from '../models/types.js'; export interface EngineModuleOptions { locateFile?: (path: string, prefix?: string) => string; [key: string]: unknown; } export interface SippClientOptions { moduleUrl?: string; wasmUrl?: string; pthreadModuleUrl?: string; pthreadWasmUrl?: string; wasmThreading?: 'single-thread' | 'pthread'; moduleOptions?: EngineModuleOptions; maxModelBytes?: number; /** Browser OPFS directory used for the managed model registry and cached assets. */ storageRoot?: string; /** Override browser OPFS split thresholds for large GGUF model files. */ browserCache?: BrowserCachePolicyOptions; trustedOrigins?: string[]; executionMode?: 'auto' | 'worker' | 'main-thread'; workerUrl?: string; } /** * Browser application client that owns one local model lifecycle service. */ export declare class SippClient implements SippClientShape { #private; readonly observability: EngineObservability; readonly models: ModelStore; constructor(options?: SippClientOptions); /** * Registers or replaces an endpoint after its descriptor is validated. */ add(id: string, descriptor: EndpointDescriptor): Promise; remove(id: string): Promise; query(input: QueryInput, options?: QueryOptions): BrowserTextRun; chat(input: ChatInput, options?: ChatOptions): BrowserTextRun; embed(input: string, options?: EmbedOptions): BrowserEmbeddingRun; state(): EngineState; subscribeEvents(listener: (event: EngineEvent) => void): () => void; close(): Promise; private assertOpen; private removeLocalEndpoint; private ensureLocalEndpoint; }