import { ApproveBridgeResponse, BridgeTxResponse } from '@imtbl/bridge-sdk'; import { TransactionResponse } from 'ethers'; import { Transaction } from '../../lib/clients'; import { ViewType } from './ViewType'; export declare enum BridgeWidgetViews { WALLET_NETWORK_SELECTION = "WALLET_NETWORK_SELECTION", BRIDGE_FORM = "BRIDGE_FORM", BRIDGE_REVIEW = "BRIDGE_REVIEW", IN_PROGRESS = "IN_PROGRESS", BRIDGE_FAILURE = "BRIDGE_FAILURE", APPROVE_TRANSACTION = "APPROVE_TRANSACTION", TRANSACTIONS = "TRANSACTIONS", CLAIM_WITHDRAWAL = "CLAIM_WITHDRAWAL", CLAIM_WITHDRAWAL_IN_PROGRESS = "CLAIM_WITHDRAWAL_IN_PROGRESS", CLAIM_WITHDRAWAL_SUCCESS = "CLAIM_WITHDRAWAL_SUCCESS", CLAIM_WITHDRAWAL_FAILURE = "CLAIM_WITHDRAWAL_FAILURE", SERVICE_UNAVAILABLE = "SERVICE_UNAVAILABLE" } export type BridgeWidgetView = BridgeCrossWalletSelection | BridgeForm | BridgeReview | BridgeInProgress | BridgeFailure | BridgeApproveTransaction | BridgeTransactions | BridgeClaimWithdrawal | BridgeClaimWithdrawalInProgress | BridgeClaimWithdrawalSuccess | BridgeClaimWithdrawalFailure | BridgeServiceUnavailableView; interface BridgeCrossWalletSelection extends ViewType { type: BridgeWidgetViews.WALLET_NETWORK_SELECTION; } interface BridgeForm extends ViewType { type: BridgeWidgetViews.BRIDGE_FORM; } interface BridgeReview extends ViewType { type: BridgeWidgetViews.BRIDGE_REVIEW; } interface BridgeInProgress extends ViewType { type: BridgeWidgetViews.IN_PROGRESS; transactionHash: string; isTransfer: boolean; } interface BridgeFailure extends ViewType { type: BridgeWidgetViews.BRIDGE_FAILURE; reason: string; } interface BridgeApproveTransaction extends ViewType { type: BridgeWidgetViews.APPROVE_TRANSACTION; approveTransaction: ApproveBridgeResponse | undefined; transaction: BridgeTxResponse | undefined; } interface BridgeTransactions extends ViewType { type: BridgeWidgetViews.TRANSACTIONS; } interface BridgeClaimWithdrawal extends ViewType { type: BridgeWidgetViews.CLAIM_WITHDRAWAL; transaction: Transaction; } interface BridgeClaimWithdrawalInProgress extends ViewType { type: BridgeWidgetViews.CLAIM_WITHDRAWAL_IN_PROGRESS; transactionResponse: TransactionResponse; } export interface BridgeClaimWithdrawalSuccess extends ViewType { type: BridgeWidgetViews.CLAIM_WITHDRAWAL_SUCCESS; transactionHash: string; } export interface BridgeClaimWithdrawalFailure extends ViewType { type: BridgeWidgetViews.CLAIM_WITHDRAWAL_FAILURE; transactionHash: string; reason: string; } export interface BridgeServiceUnavailableView extends ViewType { type: BridgeWidgetViews.SERVICE_UNAVAILABLE; } export {};