/**
 * Job Dependency System
 *
 * Enables jobs to wait for other jobs to complete before starting.
 * Used by living-docs-builder to wait for clone and import jobs.
 */
import { BackgroundJobManager } from './job-manager.js';
export interface DependencyStatus {
    /** Whether all dependencies are satisfied */
    ready: boolean;
    /** Job IDs still running/pending */
    waitingFor: string[];
    /** Job IDs that failed */
    failedDeps: string[];
    /** Job IDs that completed successfully */
    completedDeps: string[];
}
/**
 * Check the status of job dependencies
 */
export declare function checkDependencies(jobManager: BackgroundJobManager, dependsOn: string[] | undefined): DependencyStatus;
/**
 * Wait for all dependencies to complete (or fail)
 *
 * @param projectPath - Project root path
 * @param dependsOn - Array of job IDs to wait for
 * @param onProgress - Callback for progress updates
 * @param pollIntervalMs - How often to check (default 10 seconds)
 * @returns Final dependency status
 */
export declare function waitForDependencies(projectPath: string, dependsOn: string[] | undefined, onProgress: (status: DependencyStatus) => void, pollIntervalMs?: number): Promise<DependencyStatus>;
/**
 * Check for circular dependencies
 *
 * @param jobManager - Job manager instance
 * @param jobId - The job being checked
 * @param dependsOn - Its dependencies
 * @returns Array of circular dependency chains found, or empty if none
 */
export declare function detectCircularDependencies(jobManager: BackgroundJobManager, jobId: string, dependsOn: string[] | undefined): string[][];
/**
 * Format dependency status for display
 */
export declare function formatDependencyStatus(status: DependencyStatus): string;
//# sourceMappingURL=job-dependency.d.ts.map