import { TrackerRegistryRecord, StreamPartID, TrackerRegistry } from '@streamr/protocol'; import { NodeId, TrackerId } from '../identifiers'; import { PeerInfo } from '../connection/PeerInfo'; type getStreamPartsFn = () => Iterable; type ConnectToTrackerFn = (trackerAddress: string, trackerPeerInfo: PeerInfo) => Promise; type DisconnectFromTrackerFn = (trackerId: TrackerId) => void; export declare class TrackerConnector { private readonly getStreamParts; private readonly connectToTracker; private readonly disconnectFromTracker; private readonly trackerRegistry; private maintenanceTimer?; private readonly maintenanceInterval; private connectionStates; private readonly signallingOnlySessions; constructor(getStreamParts: getStreamPartsFn, connectToTracker: ConnectToTrackerFn, disconnectFromTracker: DisconnectFromTrackerFn, trackerRegistry: TrackerRegistry, maintenanceInterval: number); onNewStreamPart(streamPartId: StreamPartID): void; addSignallingOnlySession(streamPartId: StreamPartID, nodeToSignal: NodeId): Promise; removeSignallingOnlySession(streamPartId: StreamPartID, nodeToSignal: NodeId): void; start(): void; stop(): void; private maintainConnections; private connectTo; private isActiveTracker; } export {};