/**
 * PGB.2 (T-fix-pushgate-bypass) — per-commit flow attestations.
 *
 * Provenance rides the COMMIT, not the ambient session: when a gated commit passes
 * the commit-boundary conditions (docs-only, or a completed SCOPE→AUTHOR→7-phase
 * flow in the live session), the post-commit hook records one append-only JSON line
 * in `<scopeRoot>/attestations.jsonl` (beside `active.json` — machine-local, survives
 * session end, never cleaned by SessionEnd). The push gate then accepts a push whose
 * outgoing commits are all attested, even when the authoring session is long gone —
 * closing the false-block on handover pushes WITHOUT weakening fail-closed (an
 * unattested code commit still needs a live completed flow, or is blocked).
 *
 * Trust model: plain local files, same trust level as `--no-verify` (the single
 * closed escape hatch) — forgery hardening is explicitly out of scope.
 *
 * Imported by: src/setup/cli/gate.ts (append on attest, read on push).
 */
export interface Attestation {
    sha: string;
    allowed: boolean;
    reason: 'docs_only' | 'flow_complete' | 'human';
    session: string;
    at: string;
}
/** Append one attestation row. A single short line « PIPE_BUF — concurrent sessions
 *  cannot interleave mid-line on a local fs; a torn line is skipped by the reader. */
export declare function appendAttestation(scopeRoot: string, a: Attestation): Promise<void>;
/** The set of shas with an `allowed` attestation. Tolerant reader: a torn/foreign
 *  line is skipped (that sha simply stays unattested → fail-closed downstream).
 *  No file → empty set (behavior identical to pre-attestation clones). */
export declare function readAttestedShas(scopeRoot: string): Promise<Set<string>>;
//# sourceMappingURL=attestations.d.ts.map