import { MemberResponse, WalletAccessResponse, NewWalletResponse, NewWalletLabelResponse, AddressesResponse } from './interfaces';
import { StateService } from '../../services';
import { MeResponse } from '../../api';
/**
 * Member Node Client
 */
export declare class MemberNodeClient {
    private stateService;
    token: string;
    private connSubject;
    private socket;
    private events;
    /**
     * Constructor
     *
     * @param {SocketClusterClient} socketClusterClient SocketCluster Client
     * @param {any}                 httpClient          HTTP Client
     */
    constructor(stateService: StateService);
    get events$(): import("rxjs").Observable<unknown>;
    /**
     * Connect to Member Node
     *
     * @return void
     */
    connect(): Promise<void>;
    disconnect(): void;
    connected(): import("rxjs").Observable<boolean>;
    /**
     * Send Request
     *
     * @param {any} messageBody Message Body JSON Object
     *
     * @returns {Promise<any>}
     */
    sendRequest<R>(messageBody: any): Promise<R>;
    /**
     * Get Wallets For Current User
     *
     * @returns {Promise<any>}
     */
    walletAccess(): Promise<MemberResponse<WalletAccessResponse[]>>;
    newWallet(account: number, walletName: string, walletType: number): Promise<MemberResponse<[NewWalletResponse]>>;
    newWalletLabel(walletId: number, option: string, label: string, iban: string): Promise<MemberResponse<[NewWalletLabelResponse]>>;
    addresses(walletID: number): Promise<MemberResponse<AddressesResponse[]>>;
    me(): Promise<MemberResponse<MeResponse>>;
    messages(fromWalletId: number, toWalletId: number): Promise<MemberResponse<any>>;
    sendMessage(fromWalletId: number, toWalletId: number, subject: string, body: string): Promise<unknown>;
    encrypt(aliceWalletId: number, bobWalletId: number, message: string): Promise<MemberResponse<any>>;
    decrypt(aliceWalletId: number, bobWalletId: number, message: string): Promise<MemberResponse<any>>;
    getTx(walletId: number, txHash: string): Promise<unknown>;
    getTxs(): Promise<unknown>;
}
