import { ChainflipNetwork } from '@chainflip/utils/chainflip'; import { Signer } from 'ethers'; type TransactionOptions = { gasLimit?: bigint; gasPrice?: bigint; maxFeePerGas?: bigint; maxPriorityFeePerGas?: bigint; nonce?: number; wait?: number; }; type PendingRedemption = { amount: bigint; redeemAddress: string; startTime: bigint; expiryTime: bigint; }; type FundingSDKOption = { network?: ChainflipNetwork; signer: Signer; rpcUrl?: string; }; type TransactionHash = `0x${string}`; declare class FundingSDK { private readonly options; private readonly rpcConfig; private redemptionTax?; constructor(options: FundingSDKOption); /** * @param accountId the hex-encoded validator account id * @param amount the amount to fund in base units of FLIP */ fundStateChainAccount(accountId: `0x${string}`, amount: bigint, txOpts?: TransactionOptions): Promise; /** * @param accountId the hex-encoded validator account id */ executeRedemption(accountId: `0x${string}`, txOpts?: TransactionOptions): Promise; getMinimumFunding(): Promise; getRedemptionDelay(): Promise; getFlipBalance(): Promise; getPendingRedemption(accountId: `0x${string}`): Promise; /** * @param the amount of FLIP to request approval for * @returns the transaction hash or null if no approval was required */ approveStateChainGateway(amount: bigint, txOpts?: TransactionOptions): Promise; getRedemptionTax(): Promise; } export { FundingSDK, type FundingSDKOption, type PendingRedemption };