export interface GateMarkerCheck {
    /**
     * A shell expression that exits 0 (and produces no stdout) when the marker
     * is present. Keep it quiet — matched lines must not leak into the gate's
     * captured output.
     */
    presenceTest: string;
    /**
     * Human/diagnostic detail appended after `RICKY_CHILD_GATE_MISSING_MARKER: `
     * when `presenceTest` fails.
     */
    missingDetail: string;
}
export interface FinalReviewPassGateOptions {
    /** Directory holding the child workflow's review/fix artifacts. */
    artifactsDir: string;
    /** Ordered marker presence checks (claude first, then codex, etc.). */
    checks: GateMarkerCheck[];
    /** Token echoed on success to satisfy the gate's output assertion. */
    successMarker: string;
}
export declare const GATE_BLOCKED_MARKER = "RICKY_CHILD_BLOCKED_NO_COMMIT";
export declare const GATE_MISSING_MARKER_PREFIX = "RICKY_CHILD_GATE_MISSING_MARKER";
/**
 * Build the multi-line shell script for `final-review-pass-gate`. Returned as
 * a single string so it can be embedded as a step `command` by either
 * renderer regardless of how that renderer assembles its command.
 */
export declare function buildFinalReviewPassGateCommand(options: FinalReviewPassGateOptions): string;
