import type { DagNodeEvidence } from "./dag.js";
export type EvidenceFailureKind = "build_error" | "type_error" | "test_failure" | "lint_failure" | "missing_file" | "no_diff" | "wrong_output" | "policy_violation" | "ambiguous";
export interface EvidenceResult extends DagNodeEvidence {
    failureKind?: EvidenceFailureKind;
    command?: string;
    exitCode?: number;
    stdoutTail?: string;
    stderrTail?: string;
    evidenceText?: string;
}
export declare function compressDiagnostic(command: string | undefined, exitCode: number | undefined, stdout: string, stderr: string): {
    failureKind: EvidenceFailureKind;
    diagnosis: string;
};
export declare const SUMMARY_ALIASES: string[];
export interface EvidenceGate {
    type: "file-exists" | "command-pass" | "diff-nonempty" | "summary-present";
    path?: string;
    command?: string;
    summaryMarker?: string;
    severity?: "required" | "warn";
}
export interface EvidenceCheckContext {
    cwd: string;
    stdout: string;
    nodeId: string;
    runId?: string;
    attemptId?: string;
}
export declare function checkEvidenceGates(gates: EvidenceGate[], context: EvidenceCheckContext): Promise<{
    passed: boolean;
    evidence: EvidenceResult[];
    warnings: EvidenceResult[];
}>;
