import { Reader, Writer } from './codec.js'; export declare const HEADER_MAGIC: Buffer; export type Op = { kind: 'sha256'; } | { kind: 'sha1'; } | { kind: 'ripemd160'; } | { kind: 'append'; arg: Buffer; } | { kind: 'prepend'; arg: Buffer; } | { kind: 'reverse'; }; export type Attestation = { kind: 'pending'; uri: string; } | { kind: 'bitcoin'; height: number; } | { kind: 'unknown'; tag: Buffer; payload: Buffer; }; export type Timestamp = { msg: Buffer; attestations: Attestation[]; ops: { op: Op; next: Timestamp; }[]; }; export type DetachedProof = { hashOp: 'sha256'; fileHash: Buffer; timestamp: Timestamp; }; export declare function applyOp(op: Op, msg: Buffer): Buffer; export declare function deserializeTimestamp(reader: Reader, initialMsg: Buffer): Timestamp; export declare function serializeTimestamp(writer: Writer, ts: Timestamp): void; export declare function deserializeDetached(bytes: Buffer): DetachedProof; export declare function serializeDetached(proof: DetachedProof): Buffer; export declare function fileDigest(proof: DetachedProof): Buffer; export declare function collectAttestations(ts: Timestamp): { msg: Buffer; attestation: Attestation; }[]; export declare function mergeTimestamp(into: Timestamp, other: Timestamp): void; /** Single-file stamp tree: fileHash —append(nonce16)→ —sha256→ tip (calendar attestations land on tip). */ export declare function stampSkeleton(fileHash: Buffer, nonce?: NonSharedBuffer): { proof: DetachedProof; tip: Timestamp; }; export declare function nodesWithAttestations(ts: Timestamp): Timestamp[]; export declare function hasBitcoinAttestation(ts: Timestamp): boolean; //# sourceMappingURL=format.d.ts.map