import type { BlockWithTransactions } from '@ethersproject/abstract-provider'; import type { Web3Provider } from '@ethersproject/providers'; import { ForkEffect } from 'redux-saga/effects'; import { ConnectWalletSuccessAction } from '../wallet/actions'; import { FetchTransactionRequestAction, ReplaceTransactionRequestAction, WatchRevertedTransactionAction } from './actions'; import { AnyTransaction, Transaction, TransactionStatus, TransactionsConfig } from './types'; export declare function transactionSaga(config?: TransactionsConfig): IterableIterator; export declare const BLOCKS_DEPTH = 100; export declare const TRANSACTION_FETCH_RETIES = 120; export declare const PENDING_TRANSACTION_THRESHOLD: number; export declare const REVERTED_TRANSACTION_THRESHOLD: number; export declare const DROPPED_TRANSACTION_THRESHOLD: number; export declare const BACKOFF_DELAY_MULTIPLIER = 1; export declare class FailedTransactionError extends Error { hash: string; status: TransactionStatus; constructor(hash: string, status: TransactionStatus); } export declare function handleCrossChainTransactionRequest(action: FetchTransactionRequestAction, config?: TransactionsConfig): Generator; export declare function handleRegularTransactionRequest(action: FetchTransactionRequestAction): Generator | import("redux-saga/effects").SelectEffect | import("redux-saga/effects").CallEffect | import("redux-saga/effects").PutEffect> | import("redux-saga/effects").PutEffect> | import("redux-saga/effects").PutEffect> | import("redux-saga/effects").CallEffect | import("redux-saga/effects").PutEffect> | import("redux-saga/effects").PutEffect> | import("redux-saga/effects").PutEffect>, void, Transaction & (AnyTransaction & number)>; export declare function getFibonacciDelay(attempt: number): Generator; export declare function handleReplaceTransactionRequest(action: ReplaceTransactionRequestAction): Generator | import("redux-saga/effects").SelectEffect | import("redux-saga/effects").CallEffect | import("redux-saga/effects").PutEffect> | import("redux-saga/effects").CallEffect | import("redux-saga/effects").CallEffect | import("redux-saga/effects").PutEffect> | import("redux-saga/effects").CallEffect | import("redux-saga/effects").PutEffect>, void, Transaction & Web3Provider & (AnyTransaction & number & BlockWithTransactions)>; export declare function handleWatchPendingTransactions(): Generator | import("redux-saga/effects").PutEffect>, void, Transaction[]>; export declare function handleWatchDroppedTransactions(): Generator, void, Transaction[]>; export declare function handleWatchRevertedTransaction(action: WatchRevertedTransactionAction): Generator | import("redux-saga/effects").SelectEffect | import("redux-saga/effects").CallEffect | import("redux-saga/effects").PutEffect> | import("redux-saga/effects").CallEffect | import("redux-saga/effects").PutEffect>, void, never>; export declare function handleConnectWalletSuccess(_: ConnectWalletSuccessAction): Generator> | import("redux-saga/effects").PutEffect> | import("redux-saga/effects").PutEffect>, void, string & Transaction[]>;