export interface PromptTemplate {
    id: string;
    name: string;
    version: string;
    content: string;
    variables: string[];
    metadata: Record<string, any>;
}
export interface PromptExecution {
    templateId: string;
    templateVersion: string;
    variables: Record<string, any>;
    expandedPrompt: string;
    model: string;
    provider: string;
    timestamp: Date;
    responseHash?: string;
    executionId?: string;
    language?: string;
}
export declare class PromptTracker {
    private promptsDir;
    private executionsDir;
    private templates;
    private sharedPromptsDir?;
    constructor(repoPath?: string);
    init(): Promise<void>;
    private loadTemplates;
    private loadMarkdownTemplate;
    saveTemplate(template: PromptTemplate): Promise<string>;
    trackExecution(execution: PromptExecution, responseContent?: string, responseMetadata?: Record<string, any>): Promise<string>;
    getTemplate(id: string): Promise<PromptTemplate | null>;
    getTemplateHistory(id: string): Promise<PromptTemplate[]>;
    expandTemplate(templateId: string, variables: Record<string, any>): Promise<string>;
    diffTemplates(id1: string, version1: string, id2: string, version2: string): Promise<string>;
    private generateVersion;
    private generateExecutionId;
    getExecutionsByTemplate(templateId: string): Promise<any[]>;
}
//# sourceMappingURL=prompt-tracker.d.ts.map