import { SmartContractRecord, StreamPartID, TrackerRegistry } from 'streamr-client-protocol'; import { TrackerId } from '../identifiers'; import { PeerInfo } from '../connection/PeerInfo'; declare type getStreamPartsFn = () => Iterable; declare type ConnectToTrackerFn = (trackerAddress: string, trackerPeerInfo: PeerInfo) => Promise; declare 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 signallingOnlyTrackers; constructor(getStreamParts: getStreamPartsFn, connectToTracker: ConnectToTrackerFn, disconnectFromTracker: DisconnectFromTrackerFn, trackerRegistry: TrackerRegistry, maintenanceInterval: number); onNewStreamPart(streamPartId: StreamPartID): void; createSignallingOnlyTrackerConnection(trackerId: TrackerId, trackerAddress: string): Promise; removeSignallingOnlyTrackerConnection(trackerId: TrackerId): void; start(): void; stop(): void; private maintainConnections; private connectTo; private isActiveTracker; } export {};