/**
 * Worker Versioning System
 * Semantic versioning support for workers with backward compatibility
 * Sealed namespace for immutability
 */
export type SemanticVersion = {
    major: number;
    minor: number;
    patch: number;
    prerelease?: string;
    build?: string;
};
export type WorkerVersion = {
    workerName: string;
    version: SemanticVersion;
    createdAt: Date;
    deprecatedAt?: Date;
    eolDate?: Date;
    isActive: boolean;
    isDeprecated: boolean;
    migrationPath?: string;
    changelog?: string;
    breakingChanges?: string[];
};
export type VersionCompatibility = {
    sourceVersion: SemanticVersion;
    targetVersion: SemanticVersion;
    compatible: boolean;
    requiresMigration: boolean;
    breakingChanges: string[];
    recommendations: string[];
};
/**
 * Worker Versioning - Sealed namespace
 */
export declare const WorkerVersioning: Readonly<{
    /**
     * Register a worker version
     */
    register(workerVersion: Omit<WorkerVersion, "createdAt" | "isActive" | "isDeprecated">): void;
    /**
     * Get worker version
     */
    getVersion(workerName: string, versionStr: string): WorkerVersion | null;
    /**
     * Get all versions for a worker
     */
    getVersions(workerName: string, includeDeprecated?: boolean): ReadonlyArray<WorkerVersion>;
    /**
     * Get latest version
     */
    getLatest(workerName: string): WorkerVersion | null;
    /**
     * Deprecate a version
     */
    deprecate(workerName: string, versionStr: string, migrationPath?: string, eolDate?: Date): void;
    /**
     * Deactivate a version (stop accepting new jobs)
     */
    deactivate(workerName: string, versionStr: string): void;
    /**
     * Activate a version
     */
    activate(workerName: string, versionStr: string): void;
    /**
     * Check compatibility between versions
     */
    checkCompatibility(workerName: string, sourceVersionStr: string, targetVersionStr: string): VersionCompatibility;
    /**
     * Set version alias
     */
    setAlias(workerName: string, alias: string, versionStr: string): void;
    /**
     * Get version by alias
     */
    resolveAlias(workerName: string, alias: string): string | null;
    /**
     * Parse version string
     */
    parse(versionStr: string): SemanticVersion;
    /**
     * Convert version to string
     */
    stringify(version: SemanticVersion): string;
    /**
     * Compare two versions
     */
    compare(v1Str: string, v2Str: string): number;
    /**
     * Get version summary
     */
    getSummary(workerName: string): {
        totalVersions: number;
        activeVersions: number;
        deprecatedVersions: number;
        latest: string | null;
        stable: string | null;
    };
    /**
     * Clear all versions for a worker
     */
    clear(workerName: string): void;
    /**
     * Shutdown
     */
    shutdown(): void;
}>;
//# sourceMappingURL=WorkerVersioning.d.ts.map