import { type Address, type Hex } from 'viem'; export interface BribeRequest { toAddress: Address; toAgentId: string; amount: bigint; action: 'follow' | 'endorse' | 'promote' | 'engage'; } export interface BribeRecord { txHash: Hex; from: Address; to: Address; amount: bigint; action: string; agentId: string; timestamp: number; } /** * Send a karma bribe to another agent * Direct MON transfer with encoded memo */ export declare function sendKarmaBribe(request: BribeRequest): Promise; /** * Calculate bribe amount based on action type and target karma */ export declare function calculateBribeAmount(action: 'follow' | 'endorse' | 'promote' | 'engage', targetKarma: number): bigint; /** * Get bribe history for analytics */ export declare function getBribeHistory(): BribeRecord[]; /** * Get total bribes sent */ export declare function getTotalBribesSent(): bigint; /** * Get bribes by action type */ export declare function getBribesByAction(action: string): BribeRecord[]; /** * Check if we've already bribed an agent recently */ export declare function hasRecentBribe(agentId: string, action: string, withinMs?: number): boolean; interface ReputationScore { agentId: string; bribesReceived: number; totalValue: bigint; actions: Record; lastBribe: number; } /** * Update reputation after bribe */ export declare function updateReputation(record: BribeRecord): void; /** * Get reputation score for an agent */ export declare function getReputation(agentId: string): ReputationScore | undefined; /** * Get top agents by total bribe value received */ export declare function getTopBribedAgents(limit?: number): ReputationScore[]; export {}; //# sourceMappingURL=contract.d.ts.map