import type { Receipt, ReceiptScope, ReceiptAgent, ReceiptAction, ReceiptGovernance, Checkpoint } from "./types.js";
export interface Signer {
    kid: string;
    privateKey: string;
}
export interface BuildInput {
    id: string;
    ts: string;
    scope: ReceiptScope;
    agent: ReceiptAgent;
    action: ReceiptAction;
    governance: ReceiptGovernance;
}
export declare class BuilderError extends Error {
    readonly errors: string[];
    constructor(message: string, errors: string[]);
}
export declare function buildReceipt(input: BuildInput, prev: Receipt | null, signer: Signer): Receipt;
export interface RemoteSigner {
    kid: string;
    sign: (message: Buffer) => Promise<string>;
}
export declare function buildReceiptAsync(input: BuildInput, prev: Receipt | null, signer: Signer | RemoteSigner): Promise<Receipt>;
export declare function buildCheckpoint(head: Receipt, ts: string, signer: Signer): Checkpoint;
