import type { AnyAction } from 'redux'; import { ChainId } from '@dcl/schemas/dist/dapps/chain-id'; import type { FetchTransactionFailureAction, FetchTransactionRequestAction, FetchTransactionSuccessAction, ReplaceTransactionSuccessAction, UpdateTransactionStatusAction } from './actions'; import { CrossChainProviderType, TransactionStatus } from './types'; import type { ActionWithTransactionPayload, Transaction, TransactionPayload } from './types'; export declare function buildActionRef(transaction: Transaction): { type: string; payload: TransactionPayload; }; export declare function isTransactionAction(action: AnyAction): action is ActionWithTransactionPayload; export declare function getTransactionPayloadFromAction(action: ActionWithTransactionPayload): TransactionPayload['_watch_tx']; export declare function isTransactionActionCrossChain(action: AnyAction): boolean; export declare function getTransactionFromAction(action: AnyAction): Transaction; export declare function getTransactionHashFromAction(action: ActionWithTransactionPayload): Transaction['hash']; export declare function getTransactionAddressFromAction(action: ActionWithTransactionPayload): Transaction['from'] | undefined; export declare function buildTransactionPayload(chainId: ChainId, hash: string, payload?: {}, toChainId?: ChainId): TransactionPayload; export declare function buildCrossChainTransactionFromPayload(chainId: ChainId, toChainId: ChainId, hash: string, requestId: string, payload?: {}, providerType?: CrossChainProviderType): TransactionPayload; export declare function buildTransactionWithReceiptPayload(chainId: ChainId, hash: string, payload?: {}): TransactionPayload; export declare function buildTransactionWithFromPayload(chainId: ChainId, hash: string, from: string, payload?: {}): TransactionPayload; export type TransactionHrefOptions = { txHash?: string; address?: string; crossChainProviderType?: CrossChainProviderType; blockNumber?: number; }; export declare function getTransactionHref({ txHash, address, blockNumber, crossChainProviderType }: TransactionHrefOptions, network?: number): string; export declare function getTransactionOrigin(chainId?: number): "https://etherscan.io" | "https://ropsten.etherscan.io" | "https://rinkeby.etherscan.io" | "https://goerli.etherscan.io" | "https://sepolia.etherscan.io" | "https://explorer-mainnet.maticvigil.com" | "https://explorer-mumbai.maticvigil.com" | "https://www.oklink.com/es-la/amoy"; export declare function isPending(status: TransactionStatus | null): boolean; export declare function hasFailed(status: TransactionStatus | null): boolean; export declare function hasSucceeded(status: TransactionStatus | null): boolean; /** * Waits for a transaction to be completed. * * @param txHash - The hash of the transaction to wait for. */ export declare function waitForTx(txHash: string): Generator, void, { success: FetchTransactionSuccessAction | undefined; failure: FetchTransactionFailureAction | undefined; } & { replace: ReplaceTransactionSuccessAction | undefined; fetchAgain: FetchTransactionRequestAction | undefined; update: UpdateTransactionStatusAction | undefined; }>; export declare const takeEverySuccessfulTx: (actionType: string, worker: (...args: any[]) => any, ...args: Parameters<(...args: any[]) => any>) => import("redux-saga/effects").ForkEffect;