/** * Structured Prompt Generator * Uses Gemini 2.0 Flash to generate optimized prompts for image generation * Applies 7 best practices and 3 feature perspectives through intelligent selection */ import type { GeminiTextClient } from '../api/geminiTextClient'; import type { Result } from '../types/result'; /** * Feature flags for image generation */ export interface FeatureFlags { maintainCharacterConsistency?: boolean; blendImages?: boolean; useWorldKnowledge?: boolean; useGoogleSearch?: boolean; } /** * Result of structured prompt generation */ export interface StructuredPromptResult { originalPrompt: string; structuredPrompt: string; selectedPractices: string[]; } /** * Interface for structured prompt generation */ export interface StructuredPromptGenerator { generateStructuredPrompt(userPrompt: string, features?: FeatureFlags, inputImageData?: string, // Optional base64-encoded image for context purpose?: string): Promise>; } /** * Implementation of StructuredPromptGenerator using Gemini 2.0 Flash */ export declare class StructuredPromptGeneratorImpl implements StructuredPromptGenerator { private readonly geminiTextClient; constructor(geminiTextClient: GeminiTextClient); generateStructuredPrompt(userPrompt: string, features?: FeatureFlags, inputImageData?: string, purpose?: string): Promise>; /** * Build complete prompt with all optimization context */ private buildCompletePrompt; /** * Build enhanced feature context based on flags with explicit requirements */ private buildEnhancedFeatureContext; /** * Infer which best practices were selected based on the generated prompt */ private inferSelectedPractices; } /** * Factory function to create StructuredPromptGenerator */ export declare function createStructuredPromptGenerator(geminiTextClient: GeminiTextClient): StructuredPromptGenerator; //# sourceMappingURL=structuredPromptGenerator.d.ts.map