import type { ActionReceipt, Delegation, BeneficiaryTrace, AttributionReport, MerkleProof, BeneficiaryInfo } from '../types/passport.js';
export declare function hashReceipt(receipt: ActionReceipt): string;
/**
 * Follow the cryptographic chain from an action receipt back
 * to the human who authorized it.
 *
 * Every agent action resolves to a human. Not through policy. Through math.
 */
export declare function traceBeneficiary(receipt: ActionReceipt, delegations: Delegation[], beneficiaryMap: Map<string, BeneficiaryInfo>): BeneficiaryTrace;
export declare function verifyAttributionReport(report: AttributionReport, publicKey: string): {
    valid: boolean;
    errors: string[];
};
/**
 * Build a Merkle root from leaf hashes.
 * Leaves are sorted for determinism — same set always produces same root.
 * Odd levels duplicate the last node (standard Bitcoin-style).
 */
export declare function buildMerkleRoot(leafHashes: string[]): string;
/**
 * Generate an inclusion proof for one receipt in the tree.
 * Returns the sibling hashes needed to recompute the root.
 */
export declare function generateMerkleProof(leafHashes: string[], targetHash: string): MerkleProof | null;
/**
 * Verify a Merkle inclusion proof.
 * Recompute the root from the leaf + proof, compare against claimed root.
 */
export declare function verifyMerkleProof(proof: MerkleProof): boolean;
export declare const DEFAULT_SCOPE_WEIGHTS: Record<string, number>;
export declare function computeAttribution(..._args: unknown[]): never;
export declare function computeCollaborationAttribution(..._args: unknown[]): never;
//# sourceMappingURL=attribution.d.ts.map