/**
 * `vyuh-dxkit setup-branch-protection` — configures branch protection
 * on the repo's default branch with dxkit's guardrail workflow listed
 * as a required status check. Without this step, the dxkit-guardrails
 * workflow we install only runs informationally — PRs can merge even
 * if the guardrail fails. With it, merges are blocked on guardrail
 * failures.
 *
 * Wraps `gh api -X PUT repos/{owner}/{repo}/branches/{branch}/protection`
 * with a JSON payload that:
 *   1. Adds `dxkit-guardrails` to required status checks
 *   2. Preserves any other required checks already configured
 *      (idempotent merge — don't clobber customer policy)
 *   3. Doesn't force a review-count policy by default (set --require-reviews=N if wanted)
 *
 * Edge cases handled:
 *   - gh CLI missing → preflight fails with clear install instructions
 *   - No github.com remote → resolveOwnerRepo throws GhError with suggestion
 *   - Customer not admin (HTTP 403) → ghApi throws with admin-asks suggestion
 *   - Workflow file missing → warn before applying (the protection rule
 *     would otherwise block ALL PRs until the workflow exists)
 *   - Existing protection rule with different required checks → merge
 *     dxkit-guardrails into the list instead of replacing
 */
export interface SetupBranchProtectionOpts {
    /** Branch to protect. Defaults to the repo's default branch. */
    branch?: string;
    /** Number of required PR reviews. Default 0 (don't force a policy). */
    requireReviews?: number;
    /** Force overwrite of existing required checks. Default merge. */
    force?: boolean;
}
export declare function runSetupBranchProtection(cwd: string, opts?: SetupBranchProtectionOpts): Promise<void>;
//# sourceMappingURL=setup-branch-protection.d.ts.map