/// <reference types="node" />
import { EventEmitter } from 'events';
import Connector from '@soundsright/connector';
import Auth from '@soundsright/auth';
import Chain from '@soundsright/chain';
import Service from '@soundsright/service';
import Share from '@soundsright/share';
import User from '@soundsright/user';
import { SDKOptions } from './types';
import { NftMarket } from './modules/nft-market';
import { NftManager } from './modules/nft-manager';
export * from './types';
/**
 * SDK Class，使用方法如下：
 * ```typescript
 * import { ConnectType } from "@soundsright/connector";
 * import SDK from "@soundsright/sdk";
 * const sdk = new SDK();
 * sdk.connector.connect(ConnectType.MetaMask); // 或者在js中： sdk.connector.connect("MetaMask")
 * ```
 */
export default class SDK extends EventEmitter {
    private options;
    private namespaces;
    constructor(options?: SDKOptions);
    private getSingleton;
    get connector(): Connector;
    get auth(): Auth;
    get user(): User;
    get chain(): Chain;
    get service(): Service;
    get share(): Share;
    get invite(): {
        getInviterFromUrl(): string;
        cacheInviter(expires?: number): string;
        uncacheInviter(): void;
        getInviter(): string;
    };
    get nftMarket(): NftMarket;
    get nftManager(): NftManager;
}
