import type { Address, PublicClient, WalletClient } from "viem"; export type { ContractAddresses, AgentData, TaskData, ReceiptData, BidData, CollectiveData, TaskStatus, } from "@covenant/shared-types"; export { TASK_STATUS, PRIORITY_LEVEL, RECEIPT_TYPE, BASE_SEPOLIA_ADDRESSES, } from "@covenant/shared-types"; /** * ERC-8004 Receipt type enum (mirrors on-chain ReceiptVerifier.ReceiptType) */ export declare enum ReceiptType { TaskCompleted = 0, AgentVerified = 1, DisputeResolved = 2, InsuranceClaimed = 3, MilestoneReached = 4, ReputationUpdated = 5 } /** * V2 Receipt data from ReceiptVerifier v2 */ export interface ReceiptDataV2 { receiptId: `0x${string}`; issuer: Address; counterparty: Address; receiptType: number; dataHash: `0x${string}`; timestamp: bigint; isValid: boolean; } /** * Insurance claim data */ export interface InsuranceClaimData { claimant: Address; taskId: bigint; amount: bigint; paid: boolean; timestamp: bigint; } /** * Insurance pool member info */ export interface MemberInfo { active: boolean; contributed: bigint; } /** * Dispute data from DisputeResolution */ export interface DisputeData { taskId: bigint; filedBy: Address; bondAmount: bigint; votingEndsAt: bigint; resolved: boolean; workerWins: boolean; workerShare: bigint; } /** * V2 contract addresses */ export interface V2ContractAddresses { AgentRegistry: Address; TaskEscrow: Address; ReceiptVerifier: Address; InsurancePool: Address; DisputeResolution: Address; } /** * SDK configuration */ export interface CovenantConfig { /** Chain ID (84532 for Base Sepolia, 8453 for Base Mainnet) */ chainId: number; /** Viem public client for reading */ publicClient: PublicClient; /** Optional wallet client for writing */ walletClient?: WalletClient; /** Custom contract addresses (optional - uses defaults if not provided) */ contractAddresses?: PartialContractAddresses; } /** * V2 SDK configuration — extends base config with version selection */ export interface CovenantConfigV2 extends CovenantConfig { /** SDK version — "v2" enables v2 contract methods */ version: "v2"; /** Custom v2 contract addresses (optional - uses defaults if not provided) */ v2ContractAddresses?: Partial; } /** * Partial contract addresses - only specify what you want to override */ export interface PartialContractAddresses { AgentRegistry?: Address; TaskEscrow?: Address; ReceiptVerifier?: Address; OpenTaskMarket?: Address; ParallelTaskBatch?: Address; AgentCollective?: Address; AgentInsurance?: Address; DisputeArbitration?: Address; Groth16VerifierCapability?: Address; CapabilityVerifier?: Address; Groth16VerifierReputation?: Address; ReputationVerifier?: Address; COVENANTRouter?: Address; LitProtocolIntegration?: Address; AgentWallet?: Address; } export type { Address, PublicClient, WalletClient } from "viem"; export type { Hash, Log, TransactionReceipt } from "viem"; //# sourceMappingURL=types.d.ts.map