import { Netron } from './netron'; import { Interface } from './interface'; import { Definition } from './definition'; import { Abilities, EventSubscriber } from './types'; export declare abstract class AbstractPeer { netron: Netron; id: string; abilities: Abilities; protected interfaces: Map; constructor(netron: Netron, id: string); abstract set(defId: string, name: string, value: any): Promise; abstract get(defId: string, name: string): Promise; abstract call(defId: string, method: string, args: any[]): Promise; abstract subscribe(eventName: string, handler: EventSubscriber): Promise | void; abstract unsubscribe(eventName: string, handler: EventSubscriber): Promise | void; abstract exposeService(instance: any): Promise; abstract unexposeService(ctxId: string, releaseOriginated?: boolean): Promise; unexposeAllServices(): void; abstract getServiceNames(): string[]; queryInterface(qualifiedName: string): Promise; queryInterfaceByDefId(defId: string, def?: Definition): T; releaseInterface(iInstance: T, released?: Set): Promise; protected abstract releaseInterfaceInternal(iInstance: any): Promise; protected abstract getDefinitionById(defId: string): Definition; protected abstract getDefinitionByServiceName(name: string): Definition; protected findLatestServiceVersion(serviceName: string): Definition; }