import { z } from 'zod';
export declare const TemplateMetadataSchema: z.ZodObject<{
categories: z.ZodArray<z.ZodString, "many">;
complexity: z.ZodEnum<["simple", "medium", "complex"]>;
use_cases: z.ZodArray<z.ZodString, "many">;
estimated_setup_minutes: z.ZodNumber;
required_services: z.ZodArray<z.ZodString, "many">;
key_features: z.ZodArray<z.ZodString, "many">;
target_audience: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
complexity: "simple" | "medium" | "complex";
categories: string[];
use_cases: string[];
estimated_setup_minutes: number;
required_services: string[];
key_features: string[];
target_audience: string[];
}, {
complexity: "simple" | "medium" | "complex";
categories: string[];
use_cases: string[];
estimated_setup_minutes: number;
required_services: string[];
key_features: string[];
target_audience: string[];
}>;
export type TemplateMetadata = z.infer<typeof TemplateMetadataSchema>;
export interface MetadataRequest {
templateId: number;
name: string;
description?: string;
nodes: string[];
workflow?: any;
}
export interface MetadataResult {
templateId: number;
metadata: TemplateMetadata;
error?: string;
}
export declare class MetadataGenerator {
private client;
private model;
constructor(apiKey: string, model?: string);
private getJsonSchema;
createBatchRequest(template: MetadataRequest): any;
private sanitizeInput;
private summarizeNodes;
parseResult(result: any): MetadataResult;
private getDefaultMetadata;
generateSingle(template: MetadataRequest): Promise<TemplateMetadata>;
}
//# sourceMappingURL=metadata-generator.d.ts.map