import { CoreEventMap, StreamConfig, StreamWithSegments } from "../types.js"; import { Peer } from "./peer.js"; import { EventTarget } from "../utils/event-target.js"; type P2PTrackerClientEventHandlers = { onPeerConnected: (peer: Peer) => void; onSegmentRequested: (peer: Peer, segmentExternalId: number, requestId: number, bytesFrom?: number) => void; onSegmentsAnnouncement: () => void; }; export declare class P2PTrackerClient { private readonly stream; private readonly eventHandlers; private readonly config; private readonly eventTarget; private static readonly PEER_ID_BY_INFO_HASH; private readonly streamShortId; private readonly client; private readonly _peers; private readonly logger; constructor(streamSwarmId: string, stream: StreamWithSegments, eventHandlers: P2PTrackerClientEventHandlers, config: StreamConfig, eventTarget: EventTarget); start(): void; destroy(): void; private onReceivePeerConnection; private onTrackerClientWarning; private onTrackerClientError; peers(): Generator; private onPeerClosed; static clearPeerIdCache(): void; } export {};