/**
 * Version Manager Service
 *
 * Implements Git-aligned knowledge versioning system that tracks knowledge graph
 * states, manages RDF file changes, and provides rollback capabilities.
 */
import { EventEmitter } from 'events';
import { VersionMetadata, VersionDiff, RollbackOperation, VersionQuery, VersionManagerConfig, VersionManagerMetrics, SyncOperation } from './types';
export declare class VersionManager extends EventEmitter {
    private config;
    private versions;
    private rollbackOperations;
    private syncOperations;
    private cleanupTimer?;
    private backupTimer?;
    constructor(config: VersionManagerConfig);
    /**
     * Initialize the version manager
     */
    initialize(): Promise<void>;
    /**
     * Create a new version from Git commit
     */
    createVersion(repositoryPath: string, repositoryId: string): Promise<VersionMetadata>;
    /**
     * Get version by ID
     */
    getVersion(versionId: string): Promise<VersionMetadata | null>;
    /**
     * Query versions with filters
     */
    queryVersions(query: VersionQuery): Promise<VersionMetadata[]>;
    /**
     * Calculate diff between two versions
     */
    calculateDiff(fromVersionId: string, toVersionId: string): Promise<VersionDiff>;
    /**
     * Rollback to a specific version
     */
    rollbackToVersion(repositoryId: string, targetVersionId: string): Promise<RollbackOperation>;
    /**
     * Sync RDF file changes to knowledge graph
     */
    syncRDFChangesToGraph(repositoryId: string, filePaths: string[]): Promise<SyncOperation>;
    /**
     * Get version manager metrics
     */
    getMetrics(): Promise<VersionManagerMetrics>;
    /**
     * Cleanup old versions
     */
    cleanup(): Promise<void>;
    /**
     * Shutdown the version manager
     */
    shutdown(): Promise<void>;
    private loadVersions;
    private saveVersions;
    private getGitCommitInfo;
    private scanRDFFiles;
    private isDeveloperModified;
    private getKnowledgeGraphSnapshot;
    private findParentVersion;
    private calculateRDFFileChanges;
    private executeRollback;
    private executeRollbackStep;
    private executeSyncOperation;
    private generateVersionId;
    private generateOperationId;
    private setupCleanupTimer;
    private setupBackup;
    private cleanupOldBackups;
    /**
     * Determine the modification type of an RDF file
     */
    private determineModificationType;
    /**
     * Calculate execution time for rollback steps based on operation complexity
     */
    private calculateStepExecutionTime;
    /**
     * Create a backup entry for version data
     */
    private createVersionBackup;
}
//# sourceMappingURL=VersionManager.d.ts.map