import { SearchResult, ChatMessage } from "../types";
export interface PromptTemplate {
    id: string;
    name: string;
    template: string;
    variables: string[];
    description?: string;
    language?: string;
}
export interface PromptContext {
    query: string;
    retrievedDocuments: SearchResult[];
    conversationHistory: ChatMessage[];
    userContext?: Record<string, any>;
    language?: string;
}
export declare class PromptManager {
    private templates;
    constructor();
    private initializeDefaultTemplates;
    addTemplate(template: PromptTemplate): void;
    getTemplate(id: string): PromptTemplate | null;
    listTemplates(): PromptTemplate[];
    buildPrompt(templateId: string, context: PromptContext): string;
    private formatContext;
    private formatConversationHistory;
    getTemplateByLanguage(baseId: string, language: string): PromptTemplate | null;
    validateTemplate(template: PromptTemplate): {
        isValid: boolean;
        missingVariables: string[];
    };
    createCustomTemplate(id: string, name: string, template: string, options?: {
        description?: string;
        language?: string;
        variables?: string[];
    }): PromptTemplate;
    removeTemplate(id: string): boolean;
    getTemplateStats(): {
        totalTemplates: number;
        languageBreakdown: Record<string, number>;
        averageVariables: number;
    };
}
//# sourceMappingURL=prompt-manager.d.ts.map