import { type FacadeFacts } from "./gate-report-facade.js";
import type { Finding, MergeVerdict } from "./gate-report-types.js";
/** Everything one row's verdict is derived from. */
export interface MergeVerdictInputs {
    /** The context this gate's own `required` declaration implies, if any. */
    readonly expectedContext: string | null;
    /** The task this gate resolves to at the merge moment. */
    readonly task: string | null;
    /** This gate's own CI job name, so another job's name can be told apart. */
    readonly label: string;
    /** The live required contexts, or an unknown. */
    readonly required: Finding<readonly string[]>;
    /** What the project's own workflows say. */
    readonly facade: FacadeFacts;
}
/**
 * Whether a merge is blocked on one gate, and under whose name.
 * @param inputs - Verdict inputs
 * @returns The verdict, or the honest refusal to give one
 */
export declare function mergeVerdict(inputs: MergeVerdictInputs): Finding<MergeVerdict>;
//# sourceMappingURL=gate-report-merge.d.ts.map