import { BigNumberish } from '@ethersproject/bignumber'; import { Provider } from '@ethersproject/providers'; import { UnsignedTransaction } from '@ethersproject/transactions'; export interface UnsignedTransactionBundle { txInstance: UnsignedTransaction; txBytes: string; } interface CommonInputs { provider: Provider; walletAddress: string; contractAddress: string; } interface PoolApproveParams { spender: string; amount: BigNumberish; } export interface PoolApproveInputs extends CommonInputs { type: 'poolApprove'; params: PoolApproveParams; } interface PoolDepositParams { depositAmount: BigNumberish; } export interface PoolDepositInputs extends CommonInputs { type: 'poolDeposit'; params: PoolDepositParams; } interface PoolQueueWithdrawalParams { withdrawalAmount: BigNumberish; } export interface PoolQueueWithdrawalInputs extends CommonInputs { type: 'poolQueueWithdrawal'; params: PoolQueueWithdrawalParams; } type TxParams = PoolApproveInputs | PoolDepositInputs | PoolQueueWithdrawalInputs; export declare const generateUnsignedTransactionData: (args: TxParams) => Promise; interface GenerateSignedTransactionInput { txBytes: string; signature: string; } export declare function generateSignedTransactionData({ txBytes, signature }: GenerateSignedTransactionInput): string; export declare function broadcastSignedTransaction(signedTxData: string, rpcUrl: string): Promise; export {};