import { type createCelinaClient, type GoodDollarReserveSwapParams } from "@andrewkimjoseph/celina-sdk"; import type { CeloClientFactory } from "../clients/celo-client.js"; type CelinaClient = ReturnType; export declare class GoodDollarWriteService { private readonly clientFactory; private readonly sdk; constructor(clientFactory: CeloClientFactory, sdk: CelinaClient); claimDailyUbi(): Promise<{ from: `0x${string}`; hash: `0x${string}`; contract: "0x43d72Ff17701B2DA814620735C39C620Ce0ea4A1"; operation: "CLAIM_UBI"; whitelistedRoot: `0x${string}` | null; claimableAmount: string; claimableAmountFormatted: string; amountClaimed: string | undefined; amountClaimedFormatted: string | undefined; }>; estimateReserveSwap(tokenIn: string, tokenOut: string, amount: string, params?: GoodDollarReserveSwapParams): Promise<{ from: `0x${string}`; recipient: `0x${string}`; amountOutMin: string; approvalNeeded: boolean; approvalGas: string | undefined; swapGas: string; totalGas: string; slippageTolerance: number; protocol: "gooddollar_reserve"; network: "mainnet"; tokenIn: string; tokenOut: string; amountIn: string; expectedOut: string; amountSide: import("@andrewkimjoseph/celina-sdk").GoodDollarReserveAmountSide; routeHops: number; broker: "0x88de45906D4F5a57315c133620cfa484cB297541"; exchangeProvider: "0x2fFBB49055d487DdBBb0C052Cd7c2a02A7971e41"; exchangeId: "0xba77f5c7bb3317643c6d81d1ef3f9913561741d92095f88efa402faf2cbe9124"; }>; executeReserveSwap(tokenIn: string, tokenOut: string, amount: string, params?: GoodDollarReserveSwapParams): Promise<{ approvalHash: `0x${string}` | undefined; hash: `0x${string}`; status: "success" | "reverted"; from: `0x${string}`; recipient: `0x${string}`; amountOutMin: string; approvalNeeded: boolean; approvalGas: string | undefined; swapGas: string; totalGas: string; slippageTolerance: number; protocol: "gooddollar_reserve"; network: "mainnet"; tokenIn: string; tokenOut: string; amountIn: string; expectedOut: string; amountSide: import("@andrewkimjoseph/celina-sdk").GoodDollarReserveAmountSide; routeHops: number; broker: "0x88de45906D4F5a57315c133620cfa484cB297541"; exchangeProvider: "0x2fFBB49055d487DdBBb0C052Cd7c2a02A7971e41"; exchangeId: "0xba77f5c7bb3317643c6d81d1ef3f9913561741d92095f88efa402faf2cbe9124"; }>; } export {};