import type { OpenAICompatibleProvider } from '@ai-sdk/openai-compatible'; import type { FilesV4, SpeechModelV4, TranscriptionModelV4 } from '@ai-sdk/provider'; interface QvacCommonOptions { readonly headers?: Record; readonly fetch?: typeof fetch; } export interface QvacExternalOptions extends QvacCommonOptions { readonly mode?: 'external'; readonly baseURL?: string; readonly apiKey?: string; } export interface QvacManagedModel { readonly name: string; readonly config?: Record; readonly preload?: boolean; readonly default?: boolean; } export interface QvacManagedOptions extends QvacCommonOptions { readonly mode: 'managed'; readonly models: readonly (string | QvacManagedModel)[]; readonly servePort?: number; readonly serveHost?: string; readonly serveStartTimeout?: number; readonly serveBinPath?: string; readonly reuse?: boolean; readonly serveIdleTimeout?: number; readonly closeOnParentExit?: boolean; } export type QvacOptions = QvacExternalOptions | QvacManagedOptions; export type QvacProvider = OpenAICompatibleProvider & { readonly _brand: 'qvac'; files(): FilesV4; transcriptionModel(modelId: string): TranscriptionModelV4; speechModel(modelId: string): SpeechModelV4; }; export interface ManagedQvacProvider extends QvacProvider { readonly apiKey: string; readonly baseURL: string; readonly port: number; readonly pid: number; close(): Promise; [Symbol.asyncDispose](): Promise; } export {}; //# sourceMappingURL=types.d.ts.map