import { Database } from './Database.js';
import { VirtueVersion, VirtueVersionComparison, VirtueVersionStats, VirtueVersionWithDetails } from '../types/index.js';
export declare class VirtueVersionRepository {
    private database;
    constructor(database: Database);
    private get db();
    /**
     * Create a new version for a virtue
     */
    createVersion(version: Omit<VirtueVersion, 'id' | 'created_at'>): Promise<VirtueVersion>;
    /**
     * Get a specific version by ID
     */
    getVersion(id: string): VirtueVersion | null;
    /**
     * Get all versions for a virtue
     */
    getVersionsForVirtue(virtueId: string): VirtueVersion[];
    /**
     * Get the active version for a virtue
     */
    getActiveVersion(virtueId: string): VirtueVersion | null;
    /**
     * Get a specific version by virtue ID and version number
     */
    getVersionByNumber(virtueId: string, versionNumber: number): VirtueVersion | null;
    /**
     * Activate a specific version (deactivates all others)
     */
    activateVersion(virtueId: string, versionNumber: number): Promise<boolean>;
    /**
     * Get the next version number for a virtue
     */
    getNextVersionNumber(virtueId: string): Promise<number>;
    /**
     * Create a version comparison record
     */
    createComparison(comparison: Omit<VirtueVersionComparison, 'id' | 'comparison_date'>): Promise<VirtueVersionComparison>;
    /**
     * Get a comparison by ID
     */
    getComparison(id: string): VirtueVersionComparison | null;
    /**
     * Get usage statistics for a virtue version
     */
    getVersionStats(virtueId: string, versionNumber: number): Promise<VirtueVersionStats>;
    /**
     * Get a version with parsed sub-dimensions and indicators
     */
    getVersionWithDetails(virtueId: string, versionNumber: number): Promise<VirtueVersionWithDetails | null>;
    /**
     * Delete a version (if not the last one)
     */
    deleteVersion(virtueId: string, versionNumber: number): Promise<boolean>;
}
//# sourceMappingURL=VirtueVersionRepository.d.ts.map