pandora-hub
Version:
pandora.js messenge hub
47 lines (46 loc) • 1.67 kB
TypeScript
/// <reference types="node" />
import { ConsumerExtInfo, Introspection, ObjectDescription, ReplyPackage, Selector } from '../domain';
import { DefaultObjectProxy } from './DefaultObjectProxy';
import { ProviderManager } from './ProviderManager';
import EventEmitter = require('events');
export declare class ObjectConsumer extends EventEmitter {
objectDescription: ObjectDescription;
private hubClient;
private providerManager;
private objectProxy;
private timeout;
constructor(objectDescription: ObjectDescription, hubClient: any, providerManager: ProviderManager, extInfo?: ConsumerExtInfo);
/**
* Invoke a method from Remote Object
* @param {string} method
* @param {any[]} params
* @return {Promise<any>}
*/
invoke(method: string, params: any[]): Promise<any>;
/**
* Invoke a method from Remote Object
* @param {string} method
* @param {any[]} params
* @return {Promise<any>}
*/
multipleInvoke(method: string, params: any[], selectors?: Selector): Promise<ReplyPackage[]>;
/**
* Get a property from Remote Object
* @param {string} name
* @return {Promise<any>}
*/
getProperty(name: string): Promise<any>;
private subscriberPublished;
subscribe(register: string, fn: any): Promise<any>;
unsubscribe(register: string, fn?: any): Promise<any>;
/**
* Get Introspection from Remote Object
* @return {Promise<Introspection>}
*/
introspect(): Promise<Introspection>;
/**
* Get Object Proxy
* @return {Promise<T & DefaultObjectProxy>}
*/
getProxy<T extends any>(): Promise<T & DefaultObjectProxy>;
}