import { Transaction } from "./transaction"; import { IAddress, INonce } from "./interface"; import { INetworkConfig } from "./interfaceOfNetwork"; export declare class RelayedTransactionV1Builder { innerTransaction: Transaction | undefined; relayerAddress: IAddress | undefined; relayerNonce: INonce | undefined; netConfig: INetworkConfig | undefined; /** * Sets the inner transaction to be used. It has to be already signed. * * @param {Transaction} transaction The inner transaction to be used */ setInnerTransaction(transaction: Transaction): RelayedTransactionV1Builder; /** * Sets the network config to be used for building the relayed v1 transaction * * @param {INetworkConfig} netConfig The network configuration to be used */ setNetworkConfig(netConfig: INetworkConfig): RelayedTransactionV1Builder; /** * Sets the address of the relayer (the one that will actually pay the fee) * * @param relayerAddress */ setRelayerAddress(relayerAddress: IAddress): RelayedTransactionV1Builder; /** * (optional) Sets the nonce of the relayer * * @param relayerNonce */ setRelayerNonce(relayerNonce: INonce): RelayedTransactionV1Builder; /** * Tries to build the relayed v1 transaction based on the previously set fields * * @throws ErrInvalidRelayedV1BuilderArguments * @return Transaction */ build(): Transaction; private prepareInnerTransaction; }