import { type GovernorDecision } from '@enterprise-skills/core'; export interface GovernOptions { base?: string; repository?: string; pr?: string; json?: boolean; post?: boolean; /** Injectable for tests. */ git?: (args: string) => string; fetchImpl?: typeof fetch; cwd?: string; } /** owner/name from an https or ssh origin URL; null when underivable. */ export declare function parseRepositoryFromRemote(remoteUrl: string): string | null; export declare function resolveBase(git: (args: string) => string, explicit?: string): string; /** Staged adoption (spec ยง9 addendum / dogfooding directive item 4). */ export type GovernorMode = 'enforce' | 'warn' | 'observe'; /** * Per-repo adoption mode from `.project-ai/GOVERNOR_POLICY.yaml`. `enforce` * (the default when the file or field is absent) is today's behavior: FAIL * exits 1 and the server publishes a failing check. `warn` and `observe` * compute and post the HONEST verdict โ€” the record always states the mode โ€” * but exit 0 and complete the check as neutral, so a repo can wire the * governor before funding evidence without a permanent red. An INVALID value * is a hard error, never a silent soften or harden: a typo'd "observ" that * quietly enforced (or quietly observed) would surprise in exactly the way * a gate must not. */ export declare function loadGovernorMode(cwd: string, readFile?: (p: string) => string): { mode: GovernorMode; } | { error: string; }; /** * On a GitHub Actions `pull_request` event, the default checkout is the * SYNTHETIC MERGE COMMIT (refs/pull/N/merge) โ€” but the server keys the * pending decision row to the PR HEAD sha, so a decision computed against the * merge sha can only 404 on post (measured live 2026-08-05: govern decided * 258d1d9e while the PR head was 03d3586b, and the server's hint blamed App * installation). Reads the event payload the runner always provides and * returns the head sha when it is well-formed; callers verify the commit is * actually present before switching to it. */ export declare function resolveActionsPrHead(params: { env: NodeJS.ProcessEnv; readFile: (p: string) => string; }): string | null; export declare function governCommand(options?: GovernOptions): Promise; //# sourceMappingURL=govern.d.ts.map