import { type PublicClient, type Chain, type Transport } from 'viem'; import { type SupportedChainName, type AzethContractAddresses, type OnChainOpinion, type OpinionEntry, type WeightedReputation, type ActiveOpinion } from '@azeth/common'; import type { AzethSmartAccountClient } from '../utils/userop.js'; /** Submit an opinion for an agent on the ERC-8004 Reputation Registry via the ReputationModule. * * Routes the call through the smart account via ERC-4337 UserOperation so that * msg.sender in the ReputationModule context is the smart account (not the EOA). * * The contract requires a positive net USD payment from the caller to the target agent * (aggregated on-chain via Chainlink). Value is int128 with configurable decimal precision. * If an opinion already exists for this rater→agent pair, it is updated (old entry revoked, new one created). */ export declare function submitOpinion(publicClient: PublicClient, smartAccountClient: AzethSmartAccountClient, addresses: AzethContractAddresses, _account: `0x${string}`, opinion: OnChainOpinion): Promise<`0x${string}`>; /** Get payment-weighted reputation for an agent from the ReputationModule. * * Calls ReputationModule.getWeightedReputation(agentId, raters[]). * Only raters with positive net USD payment to the agent contribute * to the weighted average. */ export declare function getWeightedReputation(publicClient: PublicClient, addresses: AzethContractAddresses, agentId: bigint, raters: `0x${string}`[]): Promise; /** Get payment-weighted reputation for an agent across ALL raters. * * WARNING: This calls the unbounded getWeightedReputationAll() on-chain function. * Gas cost grows linearly with the number of raters. Use getWeightedReputation() * with an explicit rater list for production workloads. */ export declare function getWeightedReputationAll(publicClient: PublicClient, addresses: AzethContractAddresses, agentId: bigint): Promise; /** Get the net payment delta between two accounts for a specific token. * * Returns a signed int256: positive means `from` has paid `to` more than `to` has paid `from`. * Negative means `to` has paid `from` more. */ export declare function getNetPaid(publicClient: PublicClient, addresses: AzethContractAddresses, from: `0x${string}`, to: `0x${string}`, token: `0x${string}`): Promise; /** Get the total net payment from `from` to `to` across all supported tokens, in 18-decimal USD. * * Aggregates positive net deltas across all tokens tracked by the oracle (ETH, USDC, etc.) * and converts to a single USD value. Always returns >= 0 (only sums directions where * `from` has paid `to` more). * * This is the same value the contract uses to gate opinion submissions ($1 minimum). */ export declare function getTotalNetPaidUSD(publicClient: PublicClient, addresses: AzethContractAddresses, from: `0x${string}`, to: `0x${string}`): Promise; /** Get active opinion state for a rater→agent relationship. * * Returns the current opinion index and whether an active opinion exists. */ export declare function getActiveOpinion(publicClient: PublicClient, addresses: AzethContractAddresses, account: `0x${string}`, agentId: bigint): Promise; /** Read a single opinion entry from the ERC-8004 Reputation Registry. */ export declare function readOpinion(publicClient: PublicClient, chainName: SupportedChainName, agentId: bigint, clientAddress: `0x${string}`, opinionIndex: bigint): Promise; /** Get the Azeth ReputationModule address for a chain */ export declare function getReputationModuleAddress(chainName: SupportedChainName): `0x${string}`; //# sourceMappingURL=opinion.d.ts.map