import { BigNumber, ContractTransaction } from 'ethers'; import { SyncProvider } from './provider-interface'; import { PriorityOperationReceipt, SignedTransaction, TransactionReceipt, TxEthSignature } from './types'; export declare class ZKSyncTxError extends Error { value: PriorityOperationReceipt | TransactionReceipt; constructor(message: string, value: PriorityOperationReceipt | TransactionReceipt); } export declare class ETHOperation { ethTx: ContractTransaction; zkSyncProvider: SyncProvider; state: 'Sent' | 'Mined' | 'Committed' | 'Verified' | 'Failed'; error?: ZKSyncTxError; priorityOpId?: BigNumber; constructor(ethTx: ContractTransaction, zkSyncProvider: SyncProvider); awaitEthereumTxCommit(): Promise; awaitReceipt(): Promise; awaitVerifyReceipt(): Promise; private setErrorState; private throwErrorIfFailedState; } export declare class Transaction { txData: any; txHash: string; sidechainProvider: SyncProvider; state: 'Sent' | 'Committed' | 'Verified' | 'Failed'; error?: ZKSyncTxError; constructor(txData: any, txHash: string, sidechainProvider: SyncProvider); awaitReceipt(): Promise; awaitVerifyReceipt(): Promise; private setErrorState; private throwErrorIfFailedState; } export declare function submitSignedTransaction(signedTx: SignedTransaction, provider: SyncProvider, fastProcessing?: boolean): Promise; export declare function submitSignedTransactionsBatch(provider: SyncProvider, signedTxs: SignedTransaction[], ethSignatures?: TxEthSignature[]): Promise;