import { DepositAssetInfo, DepositAssetInfoMap, FeeParams, Info, Transaction, TransactionParams, TransactionsParams, WatchAllTransactionsParams, WatcherResponse, WatchOneTransactionParams, WithdrawAssetInfo, WithdrawAssetInfoMap } from "../types"; interface WatchRegistryAsset { [id: string]: boolean; } interface WatchOneTransactionRegistry { [asset_code: string]: WatchRegistryAsset; } interface WatchAllTransactionsRegistry { [asset_code: string]: boolean; } interface TransactionsRegistryAsset { [id: string]: Transaction; } interface TransactionsRegistry { [asset_code: string]: TransactionsRegistryAsset; } export declare abstract class TransferProvider { transferServer: string; operation: "deposit" | "withdraw"; account: string; lang: string; info?: Info; authToken?: string; protected _oneTransactionWatcher: { [id: string]: ReturnType; }; protected _allTransactionsWatcher?: ReturnType; protected _watchOneTransactionRegistry: WatchOneTransactionRegistry; protected _watchAllTransactionsRegistry: WatchAllTransactionsRegistry; protected _transactionsRegistry: TransactionsRegistry; protected _transactionsIgnoredRegistry: TransactionsRegistry; constructor(transferServer: string, account: string, lang: string, operation: "deposit" | "withdraw"); protected fetchInfo(): Promise; protected getHeaders(headers?: { [key: string]: string; }): Headers; setAuthToken(token: string): void; abstract fetchSupportedAssets(): Promise | Promise; abstract getAssetInfo(asset_code: string): WithdrawAssetInfo | DepositAssetInfo; fetchTransactions(params: TransactionsParams): Promise; fetchTransaction(params: TransactionParams, isWatching?: boolean): Promise; watchAllTransactions(params: WatchAllTransactionsParams): WatcherResponse; watchOneTransaction(params: WatchOneTransactionParams): WatcherResponse; fetchFinalFee(params: FeeParams): Promise; protected getAuthStatus(functionName: string, asset_code: string): boolean; } export {};