import { default as LLM, AnthropicConfig, OpenAiConfig, LLMRequest } from './llm'; import { Audio } from './audio.ts'; import { Vision } from './vision.ts'; export type AbortablePromise = Promise & { abort: (keep?: boolean) => any; }; export type AiOptions = { /** Token to pull diarization models from hugging face */ hfToken?: string; /** Path to models */ path?: string; /** Whisper ASR model: ggml-tiny.en.bin, ggml-base.en.bin */ asr?: string; /** Embedding model: all-MiniLM-L6-v2, bge-small-en-v1.5, bge-large-en-v1.5 */ embedder?: string; /** Large language models, first is default */ llm?: Omit & { models: { [model: string]: AnthropicConfig | OpenAiConfig; }; }; /** OCR model: eng, eng_best, eng_fast */ ocr?: string; /** Whisper binary */ whisper?: string; }; export declare class Ai { readonly options: AiOptions; /** Audio processing AI */ audio: Audio; /** Language processing AI */ language: LLM; /** Vision processing AI */ vision: Vision; constructor(options: AiOptions); }