import { MetaRequest, MetaResponse, QuoteRequest, QuoteResponse, CheckApprovalResponse, StatusRequest, StatusResponse, SwapRequest, SwapResponse, ReportTransactionRequest, WalletDetailsResponse, BlockchainMeta, RequestOptions, MessagingProtocolsResponse, SwapperMetaExtended, ConnectedAssetsResponse, ConnectedAssetsRequest, CustomTokenRequest, CustomTokenResponse, TokenBalanceRequest, TokenBalanceResponse } from '../types';
declare type WalletAddress = {
    blockchain: string;
    address: string;
};
export declare class RangoClient {
    private readonly deviceId;
    private readonly apiKey;
    private readonly apiUrl;
    private readonly httpService;
    constructor(apiKey: string, debug?: boolean, apiUrl?: string);
    meta(metaRequest?: MetaRequest, options?: RequestOptions): Promise<MetaResponse>;
    chains(options?: RequestOptions): Promise<BlockchainMeta[]>;
    swappers(options?: RequestOptions): Promise<SwapperMetaExtended[]>;
    messagingProtocols(options?: RequestOptions): Promise<MessagingProtocolsResponse>;
    token(customTokenRequest?: CustomTokenRequest, options?: RequestOptions): Promise<CustomTokenResponse>;
    quote(quoteRequest: QuoteRequest, options?: RequestOptions): Promise<QuoteResponse>;
    isApproved(requestId: string, txId?: string, options?: RequestOptions): Promise<CheckApprovalResponse>;
    status(statusRequest: StatusRequest, options?: RequestOptions): Promise<StatusResponse>;
    swap(swapRequest: SwapRequest, options?: RequestOptions): Promise<SwapResponse>;
    reportFailure(requestBody: ReportTransactionRequest, options?: RequestOptions): Promise<void>;
    balance(walletAddress: WalletAddress, options?: RequestOptions): Promise<WalletDetailsResponse>;
    tokenBalance(tokenBalanceRequest: TokenBalanceRequest, options?: RequestOptions): Promise<TokenBalanceResponse>;
    connectedAssets(connectedAssetsRequest: ConnectedAssetsRequest, options?: RequestOptions): Promise<ConnectedAssetsResponse>;
}
export {};
//# sourceMappingURL=client.d.ts.map