import { Msgs } from '@injectivelabs/sdk-ts/core/modules'import { ChainId, EvmChainId } from '@injectivelabs/ts-types'import { Network, NetworkEndpoints } from '@injectivelabs/networks'import type { WalletStrategy } from '../strategies'export interface MsgBroadcasterOptions { network: Network /** network configuration (chainId, fees, etc) - Network.MainnetSentry for mainnet or Network.TestnetSentry for testnet */ endpoints?: NetworkEndpoints /** optional - overriding the endpoints taken from the `network` param **/ feePayerPubKey?: string /** optional - if you are using the fee delegation service, you can set the fee payer so you don't do an extra query to the Web3Gateway */ simulateTx?: boolean /** simulate the transaction before broadcasting + get gas fees needed for the transaction */ txTimeout?: number /** optional - blocks to wait for tx to be included in a block **/ walletStrategy: WalletStrategy gasBufferCoefficient?: number /** optional - as gas buffer to add to the simulated/hardcoded gas to ensure the transaction is included in a block */}export interface MsgBroadcasterTxOptions { memo?: string /** MEMO added to the transaction **/ injectiveAddress: string /** the signer of the transaction **/ msgs: Msgs | Msgs[] /** the messages to pack into a transaction **/ /* *** overriding the hardcoded gas/simulation - *** depending on the simulateTx parameter in *** the MsgBroadcaster constructor */ gas?: { gasPrice?: string gas?: number /** gas limit */ feePayer?: string granter?: string }}