import { PromptTemplateOptions } from './types';
/**
 * A flexible prompt template system for AI applications
 */
export declare class PromptTemplate {
    private template;
    private variables;
    private escapeHtml;
    private preserveWhitespace;
    constructor(options: PromptTemplateOptions);
    /**
     * Render the template with provided variables
     */
    render(variables?: Record<string, any>): string;
    /**
     * Get all variable names used in the template
     */
    getVariables(): string[];
    /**
     * Validate that all required variables are provided
     */
    validate(variables?: Record<string, any>): {
        isValid: boolean;
        missing: string[];
    };
    /**
     * Create a new template with updated variables
     */
    withVariables(variables: Record<string, any>): PromptTemplate;
    private escapeHtmlChars;
}
//# sourceMappingURL=prompt-template.d.ts.map