import { IToBTCSwap, ToBTCSwapState } from "./IToBTCSwap"; import { ChainType, ClaimEvent, InitializeEvent, RefundEvent } from "@atomiqlabs/base"; import { AmountData, ISwapWrapperOptions } from "../../ISwapWrapper"; import { Intermediary, SingleChainReputationType } from "../../../intermediaries/Intermediary"; import { IEscrowSwapWrapper } from "../IEscrowSwapWrapper"; export declare abstract class IToBTCWrapper = IToBTCSwap, O extends ISwapWrapperOptions = ISwapWrapperOptions> extends IEscrowSwapWrapper { /** * Pre-fetches intermediary's reputation, doesn't throw, instead aborts via abortController and returns null * * @param amountData * @param lp Intermediary * @param abortController * @protected * @returns Intermediary's reputation or null if failed * @throws {IntermediaryError} If the intermediary vault doesn't exist */ protected preFetchIntermediaryReputation(amountData: Omit, lp: Intermediary, abortController: AbortController): Promise; /** * Pre-fetches feeRate for a given swap * * @param signer Address of the swap initiator * @param amountData * @param claimHash optional hash of the swap or null * @param abortController * @protected * @returns Fee rate */ protected preFetchFeeRate(signer: string, amountData: Omit, claimHash: string | null, abortController: AbortController): Promise; readonly pendingSwapStates: ToBTCSwapState[]; readonly tickSwapState: ToBTCSwapState[]; readonly refundableSwapStates: ToBTCSwapState[]; protected processEventInitialize(swap: S, event: InitializeEvent): Promise; protected processEventClaim(swap: S, event: ClaimEvent): Promise; protected processEventRefund(swap: S, event: RefundEvent): Promise; }