declare class PropertySettings { type: string; default: any; description: string; } declare class ModelConfiguration { type: string; [key: string]: any; } declare class ModelSettings { api: string; configuration: ModelConfiguration; parameters: any; response: any; } declare class TemplateSettings { type: string; parser: string; } interface ExecutionOptions { configuration?: any; parameters?: any; raw?: boolean; connection?: any; } declare class Prompty { name: string; description: string; authors: string[]; tags: string[]; version: string; base: string; basePrompty?: Prompty; model: ModelSettings; sample: any; input: { [key: string]: PropertySettings; }; output: { [key: string]: PropertySettings; }; template: TemplateSettings; file: string; content: string; constructor(content: string); private static _findGlobalConfig; static load(filePath: string, configuration?: string): Promise; static prepare(prompt: Prompty, inputs?: any): Promise; static prepareSync(prompt: Prompty, inputs?: any): any; static run(prompt: Prompty, inputs?: any, options?: ExecutionOptions): Promise; static export(prompt: Prompty): string; } declare abstract class Invoker { prompty: Prompty; constructor(prompty: Prompty); abstract invoke(data: any): Promise; abstract invokeSync(data: any): any; call(data: any): Promise; callSync(data: any): any; } type InvokerConstructor = new (prompty: Prompty) => Invoker; type InvokerType = "renderer" | "parser" | "executor" | "processor"; declare class InvokerFactory { private static _instance; private _invokers; register(type: InvokerType, name: string, invokerClass: InvokerConstructor): void; create(type: InvokerType, name: string, prompty: Prompty): Invoker; private static getName; static getInstance(): InvokerFactory; call(type: InvokerType, prompty: Prompty, data: any, alt?: any): Promise; callRenderer(prompty: Prompty, data: any, alt?: any): Promise; callParser(prompty: Prompty, data: any, alt?: any): Promise; callExecutor(prompty: Prompty, data: any, alt?: any): Promise; callProcessor(prompty: Prompty, data: any, alt?: any): Promise; callSync(type: InvokerType, prompty: Prompty, data: any, alt?: any): any; callRendererSync(prompty: Prompty, data: any, alt?: any): any; callParserSync(prompty: Prompty, data: any, alt?: any): any; callExecutorSync(prompty: Prompty, data: any, alt?: any): any; callProcessorSync(prompty: Prompty, data: any, alt?: any): any; toDict(): Record>; toJson(): string; } export { Invoker, InvokerFactory, ModelConfiguration, Prompty };