import { MetaRequest, MetaResponse, BestRouteRequest, BestRouteResponse, CheckApprovalResponse, CheckTxStatusRequest, TransactionStatusResponse, CreateTransactionRequest, CreateTransactionResponse, ReportTransactionRequest, WalletDetailsResponse, RequestOptions, BlockchainMeta, MultiRouteRequest, MultiRouteResponse, ConfirmRouteResponse, ConfirmRouteRequest, CustomTokenRequest, CustomTokenResponse, TokenBalanceResponse, TokenBalanceRequest, SwapperMetaExtended, MultipleTokenBalanceRequest, MultipleTokenBalanceResponse, SearchCustomTokensRequest, SearchCustomTokensResponse } from '../types';
declare type WalletAddresses = {
    blockchain: string;
    address: string;
}[];
export declare class RangoClient {
    private readonly deviceId;
    private readonly apiKey;
    private readonly apiUrl;
    private readonly httpService;
    constructor(apiKey: string, apiUrl?: string);
    getAllMetadata(metaRequest?: MetaRequest, options?: RequestOptions): Promise<MetaResponse>;
    getBlockchains(options?: RequestOptions): Promise<BlockchainMeta[]>;
    getSwappers(options?: RequestOptions): Promise<SwapperMetaExtended[]>;
    getCustomToken(customTokenRequest?: CustomTokenRequest, options?: RequestOptions): Promise<CustomTokenResponse>;
    searchCustomTokens(searchCustomTokensRequest: SearchCustomTokensRequest, options?: RequestOptions): Promise<SearchCustomTokensResponse>;
    getBestRoute(requestBody: BestRouteRequest, options?: RequestOptions): Promise<BestRouteResponse>;
    getAllRoutes(requestBody: MultiRouteRequest, options?: RequestOptions): Promise<MultiRouteResponse>;
    confirmRoute(requestBody: ConfirmRouteRequest, options?: RequestOptions): Promise<ConfirmRouteResponse>;
    confirmRouteRequest(requestBody: ConfirmRouteRequest, options?: RequestOptions): Promise<ConfirmRouteResponse>;
    checkApproval(requestId: string, txId?: string, options?: RequestOptions): Promise<CheckApprovalResponse>;
    checkStatus(requestBody: CheckTxStatusRequest, options?: RequestOptions): Promise<TransactionStatusResponse>;
    createTransaction(requestBody: CreateTransactionRequest, options?: RequestOptions): Promise<CreateTransactionResponse>;
    reportFailure(requestBody: ReportTransactionRequest, options?: RequestOptions): Promise<void>;
    getWalletsDetails(walletAddresses: WalletAddresses, options?: RequestOptions): Promise<WalletDetailsResponse>;
    getTokenBalance(tokenBalanceRequest: TokenBalanceRequest, options?: RequestOptions): Promise<TokenBalanceResponse>;
    getMultipleTokenBalance(requestBody: MultipleTokenBalanceRequest, options?: RequestOptions): Promise<MultipleTokenBalanceResponse>;
}
export {};
//# sourceMappingURL=client.d.ts.map