import type { NativeContextParams, NativeLlamaContext, NativeCompletionParams, NativeCompletionTokenProb, NativeCompletionResult, NativeTokenizeResult, NativeEmbeddingResult, NativeSessionLoadResult } from './NativeRNLlama'; import { SchemaGrammarConverter, convertJsonSchemaToGrammar } from './grammar'; import type { RNLlamaOAICompatibleMessage } from './chat'; export { SchemaGrammarConverter, convertJsonSchemaToGrammar }; export type TokenData = { token: string; completion_probabilities?: Array; }; export type ContextParams = NativeContextParams; export type CompletionParams = Omit & { prompt?: string; messages?: RNLlamaOAICompatibleMessage[]; }; export type BenchResult = { modelDesc: string; modelSize: number; modelNParams: number; ppAvg: number; ppStd: number; tgAvg: number; tgStd: number; }; export declare class LlamaContext { id: number; gpu: boolean; reasonNoGPU: string; model: { isChatTemplateSupported?: boolean; }; constructor({ contextId, gpu, reasonNoGPU, model }: NativeLlamaContext); /** * Load cached prompt & completion state from a file. */ loadSession(filepath: string): Promise; /** * Save current cached prompt & completion state to a file. */ saveSession(filepath: string, options?: { tokenSize: number; }): Promise; getFormattedChat(messages: RNLlamaOAICompatibleMessage[]): Promise; completion(params: CompletionParams, callback?: (data: TokenData) => void): Promise; stopCompletion(): Promise; tokenize(text: string): Promise; detokenize(tokens: number[]): Promise; embedding(text: string): Promise; bench(pp: number, tg: number, pl: number, nr: number): Promise; release(): Promise; } export declare function setContextLimit(limit: number): Promise; export declare function initLlama({ model, is_model_asset: isModelAsset, ...rest }: ContextParams): Promise; export declare function releaseAllLlama(): Promise; //# sourceMappingURL=index.d.ts.map