export interface VerifyLockfileSyncResult { valid: boolean; /** Set only when valid === false; describes the detected failure. The recovery action lives on the TotemError's recoveryHint at the CLI layer. */ reason?: string; /** * Which failure this is, when `valid === false`. The two classes have * different remedies (`missing-lockfile` regenerates; `removed-pin` is caused * BY a regenerate against a broken registry auth), so the CLI layer selects * its recovery hint from this field. Additive and optional: existing consumers * reading only `valid`/`reason` are unaffected. * * It exists because the alternative — matching the reason PROSE — makes an * editorial change to a message silently swap a user's remedy. */ failureClass?: 'removed-pin' | 'missing-lockfile'; } /** * Programmatic surface — returns the verification result without exiting or * throwing. The CLI action layer wraps this and throws a `TotemError` when * `result.valid === false` so the top-level `handleError` produces the exit * code (avoids direct `process.exit()` calls per AGENTS.md doctrine). * * Best-effort fall-through on git failures (matches verify-manifest's pattern * at packages/cli/src/commands/verify-manifest.ts:127-131): init-class * transient failures (no remote, detached HEAD, missing refs) skip the gate * rather than block pushes that are otherwise legitimate. Tenet 4's * fail-loud mandate has a documented carve-out for best-effort init-time * surfaces; the empty catches below carry `totem-context:` directives * locating that carve-out. */ export declare function verifyLockfileSyncCommand(): Promise; /** * CLI entry — wraps `verifyLockfileSyncCommand` and throws on failure so the * top-level `handleError` produces the non-zero exit code without a direct * `process.exit` call. */ export declare function verifyLockfileSyncCliCommand(): Promise; //# sourceMappingURL=verify-lockfile-sync.d.ts.map