/** * Template manager for handling image generation parameters. */ import { qualityPresets } from "./parameters/quality.js"; import { stylePresets } from "./parameters/style.js"; import { sizePresets } from "./parameters/size.js"; import type { ModelIO } from "../models/openapi.js"; export interface ImageGenerationParameters extends ModelIO { prompt: string; negative_prompt?: string; width: number; height: number; num_inference_steps?: number; guidance_scale?: number; scheduler?: string; style_strength?: number; seed?: number; num_outputs?: number; } export interface TemplateOptions { quality?: keyof typeof qualityPresets; style?: keyof typeof stylePresets; size?: keyof typeof sizePresets; custom_size?: { width: number; height: number; }; seed?: number; num_outputs?: number; } /** * Manages templates and parameter generation for image generation. */ export declare class TemplateManager { private maxImageSize; constructor(maxImageSize?: number); /** * Get all available presets. */ getAvailablePresets(): { quality: { name: string; description: string; parameters: { num_inference_steps?: number; guidance_scale?: number; scheduler?: string; negative_prompt?: string; }; id: string; }[]; style: { name: string; description: string; parameters: { prompt_prefix?: string; prompt_suffix?: string; negative_prompt?: string; style_strength?: number; }; id: string; }[]; size: { name: string; description: string; parameters: { width: number; height: number; aspect_ratio?: string; recommended_for?: string[]; }; id: string; }[]; }; /** * Generate parameters by combining presets and options. */ generateParameters(prompt: string, options?: TemplateOptions): ImageGenerationParameters; /** * Validate parameters against model constraints. */ validateParameters(parameters: ImageGenerationParameters, modelConstraints?: { min_width?: number; max_width?: number; min_height?: number; max_height?: number; step_size?: number; supported_schedulers?: string[]; }): void; /** * Suggest parameters based on prompt analysis. */ suggestParameters(prompt: string): TemplateOptions; }