/** * Derives a shepherd `MergeStatusResult` from raw PR data. * * `pr.state` is passed through unchanged; `iterate` handles the cancel action * for non-OPEN (merged/closed) PRs — this function does not branch on it. * * Interpretation order for `status` — first match wins: * 1. mergeable == CONFLICTING → CONFLICTS (hard conflict even for drafts) * 2. blockingBotReviewInProgress → BLOCKED * 3. mergeStateStatus DIRTY → CONFLICTS (GitHub merge conflicts, even for drafts) * 4. isDraft → DRAFT * 5. mergeStateStatus BEHIND → BEHIND * 6. mergeStateStatus BLOCKED / HAS_HOOKS → BLOCKED * 7. mergeStateStatus UNSTABLE → UNSTABLE * 8. mergeStateStatus UNKNOWN → UNKNOWN * 9. mergeStateStatus CLEAN → CLEAN */ import type { BatchPrData, MergeStatusResult } from "../types.mts"; export declare function deriveMergeStatus(pr: BatchPrData): MergeStatusResult;