import type { NativeContextParams, NativeCompletionParams, NativeParallelCompletionParams, NativeCompletionResult, NativeTokenizeResult, NativeEmbeddingResult, NativeSessionLoadResult, NativeRerankResult, JinjaFormattedChatResult, ParallelStatus } from './types'; declare global { var llamaInitContext: (contextId: number, params: NativeContextParams, onProgress?: (progress: number) => void) => Promise; var llamaReleaseContext: (contextId: number) => Promise; var llamaReleaseAllContexts: () => Promise; var llamaModelInfo: (path: string, skip: string[]) => Promise; var llamaGetBackendDevicesInfo: () => Promise; var llamaLoadSession: (contextId: number, path: string) => Promise; var llamaSaveSession: (contextId: number, path: string, size: number) => Promise; var llamaTokenize: (contextId: number, text: string, mediaPaths?: string[]) => Promise; var llamaDetokenize: (contextId: number, tokens: number[]) => Promise; var llamaGetFormattedChat: (contextId: number, messages: string, chatTemplate?: string, params?: object) => Promise; var llamaEmbedding: (contextId: number, text: string, params: object) => Promise; var llamaRerank: (contextId: number, query: string, documents: string[], params: object) => Promise; var llamaBench: (contextId: number, pp: number, tg: number, pl: number, nr: number) => Promise; var llamaToggleNativeLog: (enabled: boolean, onLog?: (level: string, text: string) => void) => Promise; var llamaSetContextLimit: (limit: number) => Promise; var llamaCompletion: (contextId: number, params: NativeCompletionParams, onToken?: (token: any) => void) => Promise; var llamaStopCompletion: (contextId: number) => Promise; var llamaApplyLoraAdapters: (contextId: number, adapters: Array<{ path: string; scaled?: number; }>) => Promise; var llamaRemoveLoraAdapters: (contextId: number) => Promise; var llamaGetLoadedLoraAdapters: (contextId: number) => Promise>; var llamaInitMultimodal: (contextId: number, params: { path: string; use_gpu?: boolean; image_min_tokens?: number; image_max_tokens?: number; }) => Promise; var llamaIsMultimodalEnabled: (contextId: number) => Promise; var llamaGetMultimodalSupport: (contextId: number) => Promise<{ vision: boolean; audio: boolean; }>; var llamaReleaseMultimodal: (contextId: number) => Promise; var llamaInitVocoder: (contextId: number, params: { path: string; n_batch?: number; use_gpu?: boolean; }) => Promise; var llamaIsVocoderEnabled: (contextId: number) => Promise; var llamaGetFormattedAudioCompletion: (contextId: number, speaker: string, text: string, speakerId?: number) => Promise<{ prompt: string; grammar?: string; embedding: boolean; flow: 'tokens' | 'continuous_embd' | ''; }>; var llamaGetTTSCapabilities: (contextId: number) => Promise<{ type: number; promptKind: 'outetts_legacy' | 'outetts_v0_3' | 'outetts_v1_0' | 'soprano' | 'neutts' | 'csm' | 'qwen3_tts' | 'moss_tts_realtime' | 'moss_ttsd' | 'chatterbox' | 'chatterbox_multilingual' | 'bluemagpie' | ''; family: 'outetts' | 'soprano' | 'neutts' | 'csm' | 'qwen3_tts' | 'moss_tts' | 'moss_ttsd' | 'chatterbox' | 'bluemagpie' | ''; requiresPhonemes: boolean; defaultLanguage: string; }>; var llamaDecodeAudioTokens: (contextId: number, tokens: number[]) => Promise; var llamaGenerateAudioCodes: (contextId: number, optsJson: string, onFrame?: (step: number, codes: number[]) => void) => Promise<{ codes: number[]; nCodebook: number; nFrames: number; stoppedOnEos: boolean; aborted: boolean; }>; var llamaCreateSpeaker: (contextId: number, optsJson: string) => Promise<{ id: number; family: string; rows: number; baked: boolean; }>; var llamaBakeSpeaker: (contextId: number, speakerId: number) => Promise<{ rows: number; baked: boolean; }>; var llamaReleaseSpeaker: (contextId: number, speakerId: number) => Promise; var llamaDecodeAudioEmbeddings: (contextId: number, embeddings: number[], embeddingDim: number) => Promise; var llamaGetAudioSampleRate: (contextId: number) => Promise; var llamaReleaseVocoder: (contextId: number) => Promise; var llamaClearCache: (contextId: number, clearData: boolean) => Promise; var llamaEnableParallelMode: (contextId: number, params: { enabled: boolean; n_parallel?: number; n_batch?: number; }) => Promise; var llamaQueueCompletion: (contextId: number, params: NativeParallelCompletionParams, onToken: (token: any, requestId: number) => void, onComplete: (result: any) => void) => Promise<{ requestId: number; }>; var llamaCancelRequest: (contextId: number, requestId: number) => Promise; var llamaQueueEmbedding: (contextId: number, text: string, params: object, onResult: (result: number[]) => void) => Promise<{ requestId: number; }>; var llamaQueueRerank: (contextId: number, query: string, documents: string[], params: object, onResult: (result: NativeRerankResult[]) => void) => Promise<{ requestId: number; }>; var llamaGetParallelStatus: (contextId: number) => Promise; var llamaSubscribeParallelStatus: (contextId: number, onStatus: (status: ParallelStatus) => void) => Promise<{ subscriberId: number; }>; var llamaUnsubscribeParallelStatus: (contextId: number, subscriberId: number) => void; } //# sourceMappingURL=jsi.d.ts.map