import type { LoadedConfig } from "./config.js";
import type { CompiledContext } from "./context.js";
import type { DispatchCollection, DispatchManifest, DispatchRole } from "./dispatch.js";
export interface ReconcileReport {
    artifactType: "shrey-junior/reconcile-report";
    version: number;
    createdAt: string;
    dispatchId: string;
    status: "ready-for-next-phase" | "review-required" | "blocked";
    analysisBasis: "mostly-structured" | "mixed" | "mostly-heuristic" | "empty";
    completedRoles: DispatchRole[];
    missingRoles: DispatchRole[];
    roleStatusGaps: string[];
    malformedRoles: DispatchRole[];
    partialRoles: Array<{
        role: DispatchRole;
        missingFields: string[];
    }>;
    fallbackRoles: DispatchRole[];
    agreements: string[];
    conflicts: string[];
    missingValidations: string[];
    unresolvedRisks: string[];
    recommendedNextStep: string;
    readFirst: string[];
}
export declare function buildReconcileReport(manifest: DispatchManifest, collection: DispatchCollection, context: CompiledContext): ReconcileReport;
export declare function renderReconcileMarkdown(targetRoot: string, report: ReconcileReport): string;
export declare function writeReconcileArtifacts(options: {
    targetRoot: string;
    dispatchId: string;
    report: ReconcileReport;
    config?: LoadedConfig;
    profileName?: string;
}): Promise<{
    jsonPath: string;
    markdownPath: string;
}>;
export declare function loadLatestReconcileReport(targetRoot: string, dispatchId?: string): Promise<ReconcileReport | null>;
//# sourceMappingURL=reconcile.d.ts.map