import { DynamicModule, InjectionToken, OptionalFactoryDependency, Type } from '@nestjs/common'; import { ChatCompletionMessageParam } from 'openai/resources/chat/completions'; import { z } from 'zod'; export interface LLMModuleOptions { apiKey?: string; logPrompts?: boolean; logPath?: string; defaultModel?: string; defaultWhisperModel?: string; } export interface LLMModuleAsyncOptions { useFactory: (...args: any[]) => Promise | LLMModuleOptions; inject?: (InjectionToken | OptionalFactoryDependency)[]; imports?: (Type | DynamicModule | Promise)[]; } export declare const LLMConfigSchema: z.ZodObject<{ apiKey: z.ZodString; logPrompts: z.ZodDefault>; logPath: z.ZodOptional; defaultModel: z.ZodOptional; defaultWhisperModel: z.ZodOptional; }, "strict", z.ZodTypeAny, { apiKey: string; logPrompts: boolean; logPath?: string | undefined; defaultModel?: string | undefined; defaultWhisperModel?: string | undefined; }, { apiKey: string; logPrompts?: boolean | undefined; logPath?: string | undefined; defaultModel?: string | undefined; defaultWhisperModel?: string | undefined; }>; export type LLMConfigType = z.infer; export declare const AsyncLLMConfigSchema: z.ZodObject<{ useFactory: z.ZodFunction, z.ZodUnion<[z.ZodPromise>; logPath: z.ZodOptional; defaultModel: z.ZodOptional; defaultWhisperModel: z.ZodOptional; }, "strict", z.ZodTypeAny, { apiKey: string; logPrompts: boolean; logPath?: string | undefined; defaultModel?: string | undefined; defaultWhisperModel?: string | undefined; }, { apiKey: string; logPrompts?: boolean | undefined; logPath?: string | undefined; defaultModel?: string | undefined; defaultWhisperModel?: string | undefined; }>>, z.ZodObject<{ apiKey: z.ZodString; logPrompts: z.ZodDefault>; logPath: z.ZodOptional; defaultModel: z.ZodOptional; defaultWhisperModel: z.ZodOptional; }, "strict", z.ZodTypeAny, { apiKey: string; logPrompts: boolean; logPath?: string | undefined; defaultModel?: string | undefined; defaultWhisperModel?: string | undefined; }, { apiKey: string; logPrompts?: boolean | undefined; logPath?: string | undefined; defaultModel?: string | undefined; defaultWhisperModel?: string | undefined; }>]>>; inject: z.ZodOptional, "many">>; imports: z.ZodOptional, z.ZodTypeDef, Type>, z.ZodType]>, "many">>; }, "strict", z.ZodTypeAny, { useFactory: (args_0: any, ...args: unknown[]) => { apiKey: string; logPrompts: boolean; logPath?: string | undefined; defaultModel?: string | undefined; defaultWhisperModel?: string | undefined; } | Promise<{ apiKey: string; logPrompts: boolean; logPath?: string | undefined; defaultModel?: string | undefined; defaultWhisperModel?: string | undefined; }>; inject?: InjectionToken[] | undefined; imports?: (DynamicModule | Type)[] | undefined; }, { useFactory: (args_0: any, ...args: unknown[]) => { apiKey: string; logPrompts?: boolean | undefined; logPath?: string | undefined; defaultModel?: string | undefined; defaultWhisperModel?: string | undefined; } | Promise<{ apiKey: string; logPrompts?: boolean | undefined; logPath?: string | undefined; defaultModel?: string | undefined; defaultWhisperModel?: string | undefined; }>; inject?: InjectionToken[] | undefined; imports?: (DynamicModule | Type)[] | undefined; }>; export type AsyncLLMConfigType = z.infer; export declare const MessageSchema: z.ZodObject<{ role: z.ZodEnum<["system", "user", "assistant"]>; content: z.ZodString; }, "strict", z.ZodTypeAny, { role: "system" | "user" | "assistant"; content: string; }, { role: "system" | "user" | "assistant"; content: string; }>; declare const MessageDto_base: import("@anatine/zod-nestjs").ZodDtoStatic; content: z.ZodString; }, "strict", z.ZodTypeAny, { role: "system" | "user" | "assistant"; content: string; }, { role: "system" | "user" | "assistant"; content: string; }>>; export declare class MessageDto extends MessageDto_base { } export type MessageType = z.infer; export declare const CompletionSchema: z.ZodObject<{ messages: z.ZodArray, "many">; model: z.ZodOptional>; stream: z.ZodOptional; jsonMode: z.ZodOptional; }, "strict", z.ZodTypeAny, { messages: ChatCompletionMessageParam[]; model?: "gpt-4o" | "gpt-4o-mini" | "o1" | "o1-mini" | "o3-mini" | undefined; stream?: boolean | undefined; jsonMode?: boolean | undefined; }, { messages: ChatCompletionMessageParam[]; model?: "gpt-4o" | "gpt-4o-mini" | "o1" | "o1-mini" | "o3-mini" | undefined; stream?: boolean | undefined; jsonMode?: boolean | undefined; }>; declare const CompletionDto_base: import("@anatine/zod-nestjs").ZodDtoStatic, "many">; model: z.ZodOptional>; stream: z.ZodOptional; jsonMode: z.ZodOptional; }, "strict", z.ZodTypeAny, { messages: ChatCompletionMessageParam[]; model?: "gpt-4o" | "gpt-4o-mini" | "o1" | "o1-mini" | "o3-mini" | undefined; stream?: boolean | undefined; jsonMode?: boolean | undefined; }, { messages: ChatCompletionMessageParam[]; model?: "gpt-4o" | "gpt-4o-mini" | "o1" | "o1-mini" | "o3-mini" | undefined; stream?: boolean | undefined; jsonMode?: boolean | undefined; }>>; export declare class CompletionDto extends CompletionDto_base { } export type CompletionType = z.infer; export declare const ChatCompletionResponseMessageSchema: z.ZodObject<{ role: z.ZodString; content: z.ZodString; }, "strict", z.ZodTypeAny, { role: string; content: string; }, { role: string; content: string; }>; export declare const ChatCompletionResponseSchema: z.ZodObject<{ messages: z.ZodOptional, "many">>; totalTokens: z.ZodOptional; promptTokens: z.ZodOptional; completionTokens: z.ZodOptional; parsedContent: z.ZodOptional; rawContent: z.ZodOptional; fullResponse: z.ZodOptional; }, "strict", z.ZodTypeAny, { messages?: { role: string; content: string; }[] | undefined; totalTokens?: number | undefined; promptTokens?: number | undefined; completionTokens?: number | undefined; parsedContent?: unknown; rawContent?: string | undefined; fullResponse?: unknown; }, { messages?: { role: string; content: string; }[] | undefined; totalTokens?: number | undefined; promptTokens?: number | undefined; completionTokens?: number | undefined; parsedContent?: unknown; rawContent?: string | undefined; fullResponse?: unknown; }>; export type ChatCompletionResponseType = z.infer & { parsedContent?: T; }; declare const ChatCompletionResponseDto_base: import("@anatine/zod-nestjs").ZodDtoStatic, "many">>; totalTokens: z.ZodOptional; promptTokens: z.ZodOptional; completionTokens: z.ZodOptional; parsedContent: z.ZodOptional; rawContent: z.ZodOptional; fullResponse: z.ZodOptional; }, "strict", z.ZodTypeAny, { messages?: { role: string; content: string; }[] | undefined; totalTokens?: number | undefined; promptTokens?: number | undefined; completionTokens?: number | undefined; parsedContent?: unknown; rawContent?: string | undefined; fullResponse?: unknown; }, { messages?: { role: string; content: string; }[] | undefined; totalTokens?: number | undefined; promptTokens?: number | undefined; completionTokens?: number | undefined; parsedContent?: unknown; rawContent?: string | undefined; fullResponse?: unknown; }>>; export declare class ChatCompletionResponseDto extends ChatCompletionResponseDto_base { } export declare const ResponseFormatSchema: z.ZodEnum<["json", "text", "srt", "verbose_json", "vtt"]>; export declare const SpeechToTextSchema: z.ZodObject<{ file: z.ZodAny; language: z.ZodOptional; model: z.ZodOptional; responseFormat: z.ZodOptional>; }, "strict", z.ZodTypeAny, { model?: string | undefined; file?: any; language?: string | undefined; responseFormat?: "json" | "text" | "srt" | "verbose_json" | "vtt" | undefined; }, { model?: string | undefined; file?: any; language?: string | undefined; responseFormat?: "json" | "text" | "srt" | "verbose_json" | "vtt" | undefined; }>; export type SpeechToTextType = z.infer; export declare class SpeechToTextDto { audio: string; language?: string; model?: string; prompt?: string; responseFormat?: 'json' | 'text' | 'srt' | 'verbose_json' | 'vtt'; temperature?: string; } export {};