import { Context, RouteHandler, Middleware } from '../Types'; import { MultiContextObject } from './MultiContextObject'; import { EventEmitter } from '../utils/EventEmitter'; import { PeerManager } from '../net/PeerManager'; export declare class ContextRouter extends EventEmitter { private routes; private middleware; private peerManager; private logger; constructor(peerManager: PeerManager); addRoute(path: string, context: Context, handler: RouteHandler, options?: RouteOptions): void; use(middleware: Middleware): void; route(path: string, multiContextObject: MultiContextObject, data?: any): Promise; broadcastRoute(path: string, multiContextObject: MultiContextObject, data?: any): Promise; routeToPeer(peerId: string, path: string, data?: any): Promise; private findRouteMatch; private matchRoute; getRoutes(): Map>; clearRoutes(): void; removeRoute(path: string, context?: Context): void; } interface RouteOptions { middleware?: Middleware[]; } interface RouteConfig { handler: RouteHandler; options: RouteOptions; } export {};