/**
 * Git-backed trust chain adapter.
 *
 * Uses git-cas for CBOR blob storage (chunked, content-addressed,
 * streaming) and @git-stunts/plumbing for commit chain traversal
 * and ref management.
 *
 * Handles all encoding/decoding at the boundary:
 * - On READ: CBOR decode, recordId hash verification, signaturePayload
 *   precomputation, TrustRecord.fromDecoded()
 * - On WRITE: CBOR encode via git-cas, commit + tree, ref CAS
 *
 * @module infrastructure/adapters/GitTrustChainAdapter
 */
import TrustChainPort, { type TrustChainTip } from '../../ports/TrustChainPort.ts';
import { TrustRecord } from '../../domain/trust/TrustRecord.ts';
import { type SubstrateCompatibilityPolicyValue } from './SubstrateCompatibilityPolicy.ts';
import type LoggerPort from '../../ports/LoggerPort.ts';
import type CryptoPort from '../../ports/CryptoPort.ts';
type Plumbing = {
    execute(opts: {
        args: string[];
        input?: string;
    }): Promise<string>;
};
type GitTrustChainDeps = {
    readonly plumbing: Plumbing;
    readonly crypto: CryptoPort;
    readonly logger?: LoggerPort;
    readonly compatibilityPolicy?: SubstrateCompatibilityPolicyValue;
};
export default class GitTrustChainAdapter extends TrustChainPort {
    private readonly _plumbing;
    private readonly _crypto;
    private readonly _logger;
    private readonly _getCas;
    private readonly _compatibilityPolicy;
    private _cbor;
    constructor(deps: GitTrustChainDeps);
    private _initCas;
    private _getCbor;
    readTip(graphName: string): Promise<TrustChainTip | null>;
    private _readRecordIdFromCommit;
    private _readRecordIdRawFallback;
    readRecords(graphName: string, tip?: string): AsyncIterable<TrustRecord>;
    private _decodeRecordFromCommit;
    private _requireLegacyTrustRecordPolicy;
    persistRecord(graphName: string, record: TrustRecord, parentTipSha: string | null): Promise<string>;
    private _casUpdateRef;
}
export {};
