import { Writable } from 'node:stream'; import OpenAI from 'openai'; import * as z from 'zod'; interface ConfigContent { llm: { apiKey: string; baseUrl: string; model: string; }; output: string; server: { authToken?: string; }; } declare class Config { private readonly config; static get path(): string; protected static get homePath(): string; get llm(): ConfigContent['llm'] & { prompt: string; }; get output(): string; get server(): ConfigContent['server']; constructor(config: ConfigContent); static getJson(): Promise; static setup(): Promise; static use(): Promise; } declare const Recipe: z.ZodObject<{ cook_time: z.ZodNullable>; description: z.ZodNullable>; directions: z.ZodString; ingredients: z.ZodString; name: z.ZodString; notes: z.ZodString; prep_time: z.ZodNullable>; servings: z.ZodNullable>; source: z.ZodNullable>; total_time: z.ZodNullable>; }, z.core.$strip>; type RecipeType = z.infer; /** * Convert an array of recipes to a .paprikarecipes buffer */ declare function toRecipes(recipes: RecipeType[]): Promise; interface ConverterOptions { stdout?: Writable; } declare class Converter { protected client: OpenAI; protected config: Config; protected options: ConverterOptions; protected constructor(config: Config, options?: ConverterOptions); static convert(data: Buffer, mimeType: string, options?: ConverterOptions): Promise; static convert(file: string, options?: ConverterOptions): Promise; static convert(files: string[], options?: ConverterOptions): Promise; static generateOutputFilePath(inputFiles: string[]): Promise; protected convertBuffer(title: string, data: Buffer, mimeType: string): Promise; protected convertFile(file: string): Promise; protected convertFiles(files?: string[]): Promise<{ directions: string; ingredients: string; name: string; notes: string; cook_time?: string | null | undefined; description?: string | null | undefined; prep_time?: string | null | undefined; servings?: string | null | undefined; source?: string | null | undefined; total_time?: string | null | undefined; }[]>; protected log(file: string, emojiOrDone: string | true): void; } export { Config, type ConfigContent, Converter, type ConverterOptions, Recipe, type RecipeType, toRecipes };