import type { EngineRuntime } from '../runtime/engine-runtime.js'; import { AssetStore } from './asset-store.js'; import { ModelRegistryStore } from './model-registry-store.js'; import { type ChatInput, type ClassifiedAssetFile, type EmbedOptions, type EmbeddingResult, type EngineEvent, type EngineState, type ModelInfo, type ModelAddOptions, type ModelAddSource, type ModelLifecycleService, type ModelLoadOptions, type ObservabilityEvent, type ObservabilitySnapshot, type QueryInput, type GenerationResult, type InternalTextRequestOptions } from './types.js'; interface AssetClassifier { classify(assetId: string, file: File, signal?: AbortSignal): Promise; } export declare class ModelService implements ModelLifecycleService { private readonly runtime; private readonly registry; private readonly assetStore; private currentLoaded; private chatBoundaryMarkersPromise; private chatBoundaryMarkersKey; private operationChain; private transitioning; private readonly observability; private readonly engineEventListeners; private rustLifecyclePromise; constructor(runtime: EngineRuntime, registry?: ModelRegistryStore, assetStore?: AssetStore, assetClassifier?: AssetClassifier); private readonly assetClassifier; current(): ModelInfo | null; private currentSnapshot; list(): Promise; currentObservability(): ObservabilitySnapshot; subscribeObservability(listener: (event: ObservabilityEvent) => void): () => void; state(): EngineState; subscribeEvents(listener: (event: EngineEvent) => void): () => void; add(source: ModelAddSource, options?: ModelAddOptions): Promise; load(modelId: string, options?: ModelLoadOptions): Promise; remove(id: string): Promise; unload(): Promise; runQuery(input: QueryInput, options: InternalTextRequestOptions): Promise; runEmbedding(input: string, options: EmbedOptions): Promise; private runRuntimeRequest; runChat(input: ChatInput, options: InternalTextRequestOptions): Promise; close(): void; private addWithRustLifecycle; private loadWithRustLifecycle; private acquireRemote; private cancelRemoteAcquisition; private buildRustInstallSource; private getRustLifecycle; private replaceManifest; private ingestRustEvents; private emitEngineEvent; private closeRustLifecycle; private recordQuerySuccess; private recordQueryFailure; private requestTransportObservability; private toQueryObservation; private installLocalSource; private installLocalModelAssets; private installedAssetsFromRecords; private installLocalAsset; private findLocalSplitAssets; private findCompleteSplitAssets; private classifyAssets; private getAssetFileForEntry; private openBundleForEntry; private detectionForEntry; private markBroken; private withLifecycleLock; private getChatBoundaryMarkers; } export {};