import type { APSBundle, BundledReceiptRef } from '../types/bundle.js';
import type { ScopeOfClaim } from '../types/base.js';
/** Balanced binary Merkle tree over sorted receipt ids.
 *  Empty input returns sha256('') as the canonical sentinel.
 *  Odd-length layers duplicate the trailing element. */
export declare function computeMerkleRoot(receiptIds: string[]): string;
export interface CreateAPSBundleInput {
    bundler_did: string;
    period_start: string;
    period_end: string;
    subject_scope?: string[];
    receipts: BundledReceiptRef[];
    profile_conformance: string[];
    scope_of_claim: ScopeOfClaim;
    /** Optional override; defaults to new Date().toISOString(). */
    timestamp?: string;
}
export declare function createAPSBundle(input: CreateAPSBundleInput, bundlerPrivateKey: string): APSBundle;
//# sourceMappingURL=bundle.d.ts.map