/** * Process Versioning and Migration (GAP-PROC-003). * * Semver-based versioning for process definitions. Provides parsing, * compatibility checking, diffing, and migration stubs for evolving * process schemas over time. */ export interface ProcessVersion { major: number; minor: number; patch: number; hash?: string; } export interface VersionChange { field: string; type: 'added' | 'removed' | 'changed'; description: string; } export interface MigrationResult { definition: Record; fromVersion: ProcessVersion; toVersion: ProcessVersion; appliedMigrations: string[]; } /** * Parse a "major.minor.patch" version string into a ProcessVersion. * Returns undefined if the string is malformed. */ export declare function parseProcessVersion(versionStr: string): ProcessVersion | undefined; /** * Serialize a ProcessVersion back to a string. */ export declare function formatProcessVersion(version: ProcessVersion): string; /** * Check if `current` is compatible with `required` using semver rules: * - Same major version * - Current minor >= required minor (when same major) * - Current patch >= required patch (when same major and minor) */ export declare function isCompatible(current: ProcessVersion, required: ProcessVersion): boolean; /** * Compare two versions. Returns -1, 0, or 1. */ export declare function compareVersions(a: ProcessVersion, b: ProcessVersion): -1 | 0 | 1; /** * Migrate a process definition from one version to another. * This is a stub implementation that copies the definition and stamps * the new version. Real migrations would be registered per version range. */ export declare function migrateProcess(oldDef: Record, fromVersion: ProcessVersion, toVersion: ProcessVersion): MigrationResult; /** * Diff two process versions and return a list of semantic changes. * Categorizes changes based on semver level differences. */ export declare function diffProcessVersions(v1: ProcessVersion, v2: ProcessVersion): VersionChange[]; //# sourceMappingURL=versioning.d.ts.map