import { Logger } from 'pino'; import { AsyncEventEmitter } from '@devgrid/async-emitter'; import { NetronOptions } from './types'; import { LocalPeer } from './local-peer'; import { RemotePeer } from './remote-peer'; import { ServiceStub } from './service-stub'; import { Task, TaskManager } from './task-manager'; import { ServiceInfo, ServiceDiscovery } from './service-discovery'; export declare class Netron extends AsyncEventEmitter { id: string; private wss?; private ownEvents; peer: LocalPeer; peers: Map; taskManager: TaskManager; private isStarted; services: Map; options: NetronOptions; discovery?: ServiceDiscovery; private discoveryRedis?; logger: Logger; constructor(options?: NetronOptions); start(): Promise; private initServiceDiscovery; stop(): Promise; connect(address: string, reconnect?: boolean): Promise; disconnect(peerId: string): void; getServiceNames(): string[]; addTask(fn: Task): void; runTask(peer: RemotePeer, name: string, ...args: any[]): Promise; deleteSpecialEvents(id: string): void; emitSpecial(event: string, id: string, data: any): Promise; static create(options?: NetronOptions): Promise; getExposedServices(): ServiceInfo[]; }