/**
 * UpdateFeatureLifecycleUseCase
 *
 * Centralises all feature lifecycle transitions. Every call to this use case:
 * 1. Persists the new lifecycle value via the feature repository.
 * 2. Immediately calls CheckAndUnblockFeaturesUseCase to evaluate whether
 *    any blocked children can now be unblocked.
 *
 * This is the single hook point that ensures auto-unblocking fires on every
 * lifecycle transition made by the feature agent, satisfying FR-17.
 *
 * No-op when the feature is not found (swallowed gracefully so agent nodes
 * do not crash on a missing feature record).
 */
import type { SdlcLifecycle } from '../../../../domain/generated/output.js';
import type { IFeatureRepository } from '../../../ports/output/repositories/feature-repository.interface.js';
import { CheckAndUnblockFeaturesUseCase } from '../check-and-unblock-features.use-case.js';
export interface UpdateFeatureLifecycleInput {
    featureId: string;
    lifecycle: SdlcLifecycle;
}
export declare class UpdateFeatureLifecycleUseCase {
    private readonly featureRepo;
    private readonly checkAndUnblock;
    constructor(featureRepo: IFeatureRepository, checkAndUnblock: CheckAndUnblockFeaturesUseCase);
    execute(input: UpdateFeatureLifecycleInput): Promise<void>;
}
//# sourceMappingURL=update-feature-lifecycle.use-case.d.ts.map