/**
 * Brownfield Analysis Job Launcher
 *
 * Launches brownfield documentation analysis as a background job.
 * Supports long-running analysis of large codebases (1000+ files).
 */
import { BackgroundJob, BrownfieldPhase } from './types.js';
import { Logger } from '../../utils/logger.js';
import type { AnalysisDepth } from './types.js';
/**
 * Options for launching brownfield analysis
 */
export interface BrownfieldLaunchOptions {
    projectPath: string;
    sourceDocsPath?: string;
    analysisDepth: AnalysisDepth;
    logger?: Logger;
}
/**
 * Result of launching a brownfield job
 */
export interface BrownfieldLaunchResult {
    success: boolean;
    jobId: string;
    message: string;
}
/**
 * Load job state from filesystem
 */
export declare function loadJobState(projectPath: string, jobId: string): BackgroundJob | null;
/**
 * List all brownfield jobs for a project
 */
export declare function listBrownfieldJobs(projectPath: string): BackgroundJob[];
/**
 * Get the most recent active brownfield job
 */
export declare function getActiveBrownfieldJob(projectPath: string): BackgroundJob | null;
/**
 * Update job progress
 */
export declare function updateJobProgress(projectPath: string, jobId: string, phase: BrownfieldPhase, current: number, total: number, currentItem?: string): void;
/**
 * Brownfield completion statistics
 */
export interface BrownfieldCompletionStats {
    discrepancyCount: number;
    filesAnalyzed: number;
    modulesDetected: number;
    byType: Record<string, number>;
    byPriority: Record<string, number>;
    durationMs: number;
}
/**
 * Mark job as completed with full statistics
 */
export declare function completeJob(projectPath: string, jobId: string, discrepancyCount: number, stats?: BrownfieldCompletionStats): void;
/**
 * Format completion notification for display
 */
export declare function formatCompletionNotification(jobId: string, stats: BrownfieldCompletionStats): string;
/**
 * Mark job as failed
 */
export declare function failJob(projectPath: string, jobId: string, error: string): void;
/**
 * Pause a running job
 */
export declare function pauseJob(projectPath: string, jobId: string): boolean;
/**
 * Launch brownfield analysis as a background job
 *
 * Note: In the current implementation, this creates the job state
 * but the actual analysis is performed by the brownfield-worker
 * which is invoked separately. For now, this sets up the job
 * for future integration with a proper background process system.
 */
export declare function launchBrownfieldAnalysisJob(options: BrownfieldLaunchOptions): Promise<BrownfieldLaunchResult>;
/**
 * Resume a paused job
 */
export declare function resumeJob(projectPath: string, jobId: string): boolean;
/**
 * Delete a job and its state
 */
export declare function deleteJob(projectPath: string, jobId: string): boolean;
//# sourceMappingURL=brownfield-launcher.d.ts.map