/** * WASM Engine * TypeScript wrapper for the llama.cpp WASM module */ import { EventEmitter } from 'events'; export interface WasmEngineOptions { wasmPath?: string; numThreads?: number; } export interface LoadModelOptions { contextLength?: number; batchSize?: number; numThreads?: number; } export interface GenerateOptions { maxTokens?: number; temperature?: number; topP?: number; topK?: number; repeatPenalty?: number; stop?: string[]; } export interface GenerateResult { text: string; tokensGenerated: number; done: boolean; } export declare class WasmEngine extends EventEmitter { private module; private initialized; private modelLoaded; private options; private _init; private _loadModel; private _generate; private _embedding; private _free; private _getNCtx; private _getNEmbd; private _getNVocab; constructor(options?: WasmEngineOptions); /** * Initialize the WASM module */ init(): Promise; /** * Get the default WASM module path */ private getDefaultWasmPath; /** * Load the WASM module */ private loadWasmModule; /** * Load a model from a file path */ loadModel(modelPath: string, options?: LoadModelOptions): Promise; /** * Generate text completion */ generate(prompt: string, options?: GenerateOptions): Promise; /** * Generate text with streaming */ generateStream(prompt: string, options?: GenerateOptions): AsyncGenerator; /** * Get embeddings for text */ embed(text: string): Promise; /** * Get model info */ getModelInfo(): { contextLength: number; embeddingSize: number; vocabSize: number; } | null; /** * Check if model is loaded */ isLoaded(): boolean; /** * Unload the model and free resources */ unload(): Promise; /** * Shutdown the engine */ shutdown(): Promise; } /** * Create a WASM engine instance */ export declare function createWasmEngine(options?: WasmEngineOptions): WasmEngine; //# sourceMappingURL=wasm-engine.d.ts.map