/**
 * Continuous-integration status for a pull request, abstracted across CI
 * providers. GitHub Actions is the first (and currently only) adapter, but the
 * vocabulary here is deliberately host-agnostic so GitLab pipelines, Buildkite,
 * etc. can be added behind the same interface without changing consumers.
 */
export var CiProviderType;
(function (CiProviderType) {
    CiProviderType["GITHUB"] = "github";
})(CiProviderType || (CiProviderType = {}));
/**
 * Provider-agnostic outcome of a single CI check. Each host's native states are
 * mapped onto these by its adapter (e.g. GitHub's `queued`/`in_progress` →
 * `pending`; `timed_out` → `failure`).
 */
export var CiCheckState;
(function (CiCheckState) {
    CiCheckState["SUCCESS"] = "success";
    CiCheckState["FAILURE"] = "failure";
    /** Queued or running — not yet concluded. */
    CiCheckState["PENDING"] = "pending";
    CiCheckState["CANCELLED"] = "cancelled";
    CiCheckState["SKIPPED"] = "skipped";
    /** Concluded without a pass/fail signal (e.g. manual/neutral checks). */
    CiCheckState["NEUTRAL"] = "neutral";
})(CiCheckState || (CiCheckState = {}));
/**
 * Whether the PR may actually be merged, per the repo's own policy (branch
 * protection: required checks + required reviews). This is distinct from the
 * CI roll-up: a check can fail yet the PR still be mergeable when that check
 * isn't *required* — so the merge verdict must come from the provider, never
 * be inferred from check states. Maps GitHub's `mergeable_state`.
 */
export var CiMergeState;
(function (CiMergeState) {
    /** All requirements met — safe to merge. */
    CiMergeState["READY"] = "ready";
    /** Mergeable, but some non-required checks are failing or still running. */
    CiMergeState["UNSTABLE"] = "unstable";
    /** Blocked by the repo policy — a required check failed or a review is missing. */
    CiMergeState["BLOCKED"] = "blocked";
    /** Merge conflicts must be resolved first. */
    CiMergeState["CONFLICTS"] = "conflicts";
    /** The branch is behind its base and must be updated first. */
    CiMergeState["BEHIND"] = "behind";
    /** The PR is still a draft. */
    CiMergeState["DRAFT"] = "draft";
    /** The provider hasn't finished computing mergeability yet. */
    CiMergeState["UNKNOWN"] = "unknown";
})(CiMergeState || (CiMergeState = {}));
//# sourceMappingURL=ci.js.map