///
import multiSim from './multi-sim';
import MultiChain from './multichain';
import { InitializationOptions, Ac, TransactionHandler, EventObject, Tx, Transaction, Account, Event, Unsubscribe, Simulate, Destroy, Configuration, SDKError, LimitRules, EnhancedConfig, MultiChainOptions } from './types';
declare class SDK {
protected _storageKey: string;
protected _connectionId: string | undefined;
protected _dappId?: string;
protected _system: string;
protected _networkId: number;
protected _appName: string;
protected _appVersion: string;
protected _transactionHandlers: TransactionHandler[];
protected _socket: any;
protected _connected: boolean;
protected _sendMessage: (msg: EventObject) => void;
protected _pingTimeout?: NodeJS.Timeout;
protected _heartbeat?: () => void;
protected _destroyed: boolean;
protected _onerror: ((error: SDKError) => void) | undefined;
protected _queuedMessages: string[];
protected _limitRules: LimitRules;
protected _waitToRetry: null | Promise;
protected _processingQueue: boolean;
protected _processQueue: () => Promise;
transaction: Transaction;
account: Account;
event: Event;
simulate: Simulate;
multiSim: typeof multiSim;
unsubscribe: Unsubscribe;
destroy: Destroy;
configuration: Configuration;
watchedTransactions: Tx[];
watchedAccounts: Ac[];
configurations: Map;
constructor(options: InitializationOptions);
static multichain(options: MultiChainOptions): MultiChain;
}
export default SDK;
export * from './types';
export type { MultiChain };