/**
 * Nexus Prime -- Proof Builder
 *
 * Factory functions that construct strongly-typed proof payloads
 * and wrap them in auditable envelopes.
 */
import type { SelectionProof, WorkerProof, VerificationProof, MemoryPromotionProof, ApplyProof, ProofType, ProofEnvelope } from './types.js';
export interface SelectionProofParams {
    selectedFiles: Array<{
        path: string;
        reason: string;
    }>;
    rejectedFiles: Array<{
        path: string;
        reason: string;
    }>;
    selectedArtifacts: Array<{
        name: string;
        type: string;
        reason: string;
    }>;
    rejectedArtifacts: Array<{
        name: string;
        type: string;
        reason: string;
    }>;
    selectorPrecedenceUsed: readonly string[];
    dominantReason: string;
    confidence: number;
}
export interface WorkerProofParams {
    topology: string;
    lanes: Array<{
        role: string;
        files: string[];
        rationale: string;
    }>;
    whyThisTopology: string;
    alternativesRejected: string[];
}
export interface VerificationProofParams {
    checks: Array<{
        name: string;
        passed: boolean;
        detail: string;
    }>;
    contradictions: string[];
    verdict: 'confirmed' | 'flagged' | 'rejected';
}
export interface MemoryPromotionProofParams {
    sourceRunIds: string[];
    evidence: string[];
    conflicts: string[];
    promotionClass: 'session_learning' | 'project_fact' | 'reusable_pattern';
    verdict: 'confirmed' | 'flagged' | 'rejected';
}
export interface ApplyProofParams {
    mergeDecision: string;
    rollbackConsidered: boolean;
    verifierGate: string;
    finalVerdict: 'confirmed' | 'flagged' | 'rejected';
}
export declare function buildSelectionProof(params: SelectionProofParams): SelectionProof;
export declare function buildWorkerProof(params: WorkerProofParams): WorkerProof;
export declare function buildVerificationProof(params: VerificationProofParams): VerificationProof;
export declare function buildMemoryPromotionProof(params: MemoryPromotionProofParams): MemoryPromotionProof;
export declare function buildApplyProof(params: ApplyProofParams): ApplyProof;
export declare function wrapInEnvelope(runId: string, type: ProofType, proof: ProofEnvelope['proof']): ProofEnvelope;
