import type { CharacterDNA } from '../../types/character.js';
import type { PromptTemplate } from '../../types/prompt-template.js';
export interface BasePrompt {
    id: string;
    sourceFile: string;
    promptIndex: number;
    category: string;
    json: Record<string, unknown>;
}
export interface PersonalizedPrompt {
    id: string;
    category: string;
    originalId: string;
    flatPrompt: string;
    aspectRatio: string;
    tags: string[];
}
/**
 * Loads base prompts from the extracted JSON file.
 */
export declare function loadBasePrompts(): Promise<BasePrompt[]>;
/**
 * Returns unique category names from loaded base prompts.
 */
export declare function getCategories(): Promise<string[]>;
/**
 * Filters prompts by category, returning PromptTemplate objects.
 */
export declare function getPromptsByCategory(category: string): Promise<PromptTemplate[]>;
/**
 * Text search across name, category, description fields (case-insensitive).
 */
export declare function searchPrompts(query: string): Promise<PromptTemplate[]>;
/**
 * Returns a single prompt by ID.
 */
export declare function getPromptDetail(promptId: string): Promise<PromptTemplate | undefined>;
/**
 * Personalizes all base prompts for a specific character.
 * Returns an array of PersonalizedPrompt ready for image generation.
 */
export declare function personalizePromptsForCharacter(dna: CharacterDNA): Promise<PersonalizedPrompt[]>;
/**
 * Gets a random personalized prompt for a character, optionally filtered by tags.
 */
export declare function getRandomPrompt(dna: CharacterDNA, filterTags?: string[]): Promise<PersonalizedPrompt | null>;
/**
 * Gets a context-aware prompt based on conversation context.
 * Analyzes recent messages to pick a relevant category.
 */
export declare function getContextAwarePrompt(dna: CharacterDNA, recentUserMessages: string[]): Promise<PersonalizedPrompt | null>;
/**
 * Gets prompt library stats.
 */
export declare function getLibraryStats(): Promise<{
    totalPrompts: number;
    categories: Record<string, number>;
}>;
/**
 * Personalizes a single template by ID for a specific character.
 * Returns the personalized prompt string, or undefined if template not found.
 */
export declare function personalizeTemplate(templateId: string, dna: CharacterDNA): Promise<{
    personalizedPrompt: string;
} | undefined>;
//# sourceMappingURL=index.d.ts.map