import BigNumber from 'bignumber.js'; import { ActionContext } from '../store'; import { AccountId, MarketData, Network, PairData, SwapHistoryItem } from '../store/types'; import { ActionStatus, BaseSwapProviderConfig, EstimateFeeRequest, EstimateFeeResponse, GetQuoteResult, NextSwapActionRequest, QuoteRequest, SwapRequest, SwapStatus } from './types'; export declare abstract class SwapProvider { config: BaseSwapProviderConfig; constructor(config: BaseSwapProviderConfig); protected abstract _getStatuses(): Record; protected abstract _txTypes(): Record; protected abstract _fromTxType(): string | null; protected abstract _toTxType(): string | null; protected abstract _totalSteps(): number; protected abstract _timelineDiagramSteps(): string[]; sendLedgerNotification(accountId: string, message: string): Promise; abstract getSupportedPairs({ network }: { network: Network; }): Promise; abstract getMin(quoteRequest: QuoteRequest): Promise; abstract getQuote(quoteRequest: QuoteRequest): Promise; abstract newSwap(swapRequest: SwapRequest): Promise>; abstract estimateFees(estimateFeeRequest: EstimateFeeRequest): Promise; abstract performNextSwapAction(store: ActionContext, nextSwapAction: NextSwapActionRequest): Promise | undefined>; waitForSwapConfirmations(_nextSwapActionRequest: NextSwapActionRequest): Promise; getMarketData(network: Network): MarketData[]; getClient(network: Network, walletId: string, asset: string, accountId: string): import("@chainify/client").Client, import("@chainify/client").Wallet, import("@chainify/client").Swap>, import("@chainify/client").Nft>; getAccount(accountId: string): import("../store/types").Account | undefined; updateBalances(network: Network, walletId: string, accountIds: AccountId[]): Promise; getSwapAddress(network: Network, walletId: string, asset: string, accountId: string): Promise; get statuses(): Record; get fromTxType(): string | null; get toTxType(): string | null; get timelineDiagramSteps(): string[]; get totalSteps(): number; get txTypes(): Record; }