/**
 * Interface defining a prompt template
 */
export interface PromptTemplate {
    name: string;
    system: string;
    user: string;
    temperature?: number;
}
/**
 * Template variables for formatting prompts
 */
export interface TemplateVariables {
    schema?: string;
    question?: string;
    sql?: string;
    error?: string;
    explanation?: string;
    examples?: string;
    [key: string]: string | number | boolean | undefined;
}
/**
 * Singleton service for managing prompt templates
 */
declare class PromptTemplateService {
    private static instance;
    private templates;
    private constructor();
    /**
     * Get singleton instance
     */
    static getInstance(): PromptTemplateService;
    /**
     * Initialize default prompt templates
     */
    private initializeDefaultTemplates;
    /**
     * Get a template by name
     */
    getTemplate(name: string): PromptTemplate | undefined;
    /**
     * Get all template names
     */
    getTemplateNames(): string[];
    /**
     * Add a new template or update existing one
     */
    addTemplate(template: PromptTemplate): void;
    /**
     * Format a template with variables
     */
    formatTemplate(name: string, variables: TemplateVariables): string;
    /**
     * Get temperature for a template
     */
    getTemperature(name: string): number;
    /**
     * Check if a template exists
     */
    hasTemplate(name: string): boolean;
    /**
     * Remove a template
     */
    removeTemplate(name: string): boolean;
}
export default PromptTemplateService;
export { PromptTemplateService };
//# sourceMappingURL=promptTemplateService.d.ts.map