/**
 * DAG dependency resolver — jobs only become 'ready' when all deps are 'done'.
 *
 * Called after any job status change that could unblock dependents.
 */
import type { WorkforceDb } from './types.js';
/**
 * Returns true if adding `newJobId` with `deps` would create a cycle.
 * Uses iterative DFS from each dep, looking for newJobId.
 */
export declare function wouldCreateCycle(db: WorkforceDb, newJobId: string, deps: string[]): boolean;
/** Promote backlog jobs whose all deps are done. Returns count promoted. */
export declare function promoteReady(db: WorkforceDb): number;
/** Mark jobs whose deps have a failed job as 'blocked'. */
export declare function blockOnFailedDeps(db: WorkforceDb): number;
/** Run full DAG reconciliation: promote ready + block on failures. */
export declare function reconcileDag(db: WorkforceDb): {
    promoted: number;
    blocked: number;
};
