import { Route } from '../types/routing'; import reduct = require('reduct'); import { CcpRouteControlRequest, CcpRouteUpdateRequest } from 'ilp-protocol-ccp'; export default class RouteBroadcaster { private deps; private localRoutingTable; private forwardingRoutingTable; private accounts; private config; private peers; private localRoutes; private routingSecret; private untrackCallbacks; constructor(deps: reduct.Injector); start(): void; stop(): void; track(accountId: string): void; untrack(accountId: string): void; add(accountId: string): void; remove(accountId: string): void; handleRouteControl(sourceAccount: string, routeControl: CcpRouteControlRequest): void; handleRouteUpdate(sourceAccount: string, routeUpdate: CcpRouteUpdateRequest): void; reloadLocalRoutes(): void; updatePrefix(prefix: string): boolean; getBestPeerForPrefix(prefix: string): Route | undefined; getGlobalPrefix(): "test" | "g"; getStatus(): { routingTableId: string; currentEpoch: number; localRoutingTable: { [x: string]: { auth: undefined; path: string; nextHop: string; }; }; forwardingRoutingTable: { [x: string]: { auth: undefined; path: string; nextHop: string; } | null; }; routingLog: ({ route: { auth: undefined; path: string; nextHop: string; } | null | undefined; } | { route: { auth: undefined; path: string; nextHop: string; } | null | undefined; epoch: number; prefix: string; })[]; peers: {}; }; private updateLocalRoute; private updateForwardingRoute; private getAccountRelation; }