///
import { CcpRouteUpdateRequest, CcpRouteUpdateResponse } from 'ilp-protocol-ccp';
import { IncomingRoute } from 'ilp-routing';
export declare class CcpReceiverService extends Map {
getOrThrow(id: string): CcpReceiver;
}
export interface CcpReceiverOpts {
peerId: string;
sendData: (packet: Buffer) => Promise;
addRoute: (route: IncomingRoute) => void;
removeRoute: (peerId: string, prefix: string) => void;
getRouteWeight: (peerId: string) => number;
}
interface CcpReceiverStatus {
routingTableId: string;
epoch: number;
}
export declare class CcpReceiver {
private _peerId;
private _sendData;
private _addRoute;
private _removeRoute;
private _getRouteWeight;
private _expiry;
private _routingTableId;
private _epoch;
constructor({ peerId, sendData, addRoute, removeRoute, getRouteWeight }: CcpReceiverOpts);
getStatus(): CcpReceiverStatus;
handleRouteUpdate({ routingTableId, fromEpochIndex, toEpochIndex, holdDownTime, newRoutes, withdrawnRoutes }: CcpRouteUpdateRequest): Promise;
sendRouteControl(sendOnce?: boolean): Promise;
private _bump;
private _maybeSendRouteControl;
}
export {};