import type { Server } from "@modelcontextprotocol/sdk/server/index.js"; export declare class EventStreamManager { private readonly server; private readonly projectRoot; private readonly defaultQueueBound; private subscriptions; /** FileWatch entries keyed by absolute path. */ private fileWatches; /** * Map from subscriptionId → set of watched file paths. * Used to release watches on unsubscribe. */ private subFiles; /** Telemetry date-poll interval (detects date roll-overs). */ private telemetryPollTimer; /** Current date string (YYYY-MM-DD) used to detect roll-over. */ private currentTelemetryDate; constructor(server: Server, projectRoot: string, defaultQueueBound?: number); subscribe(runId: string, opts?: { since?: string; queueBound?: number; }): Promise<{ subscriptionId: string; status: "subscribed"; startedAt: string; }>; unsubscribe(subscriptionId: string): { ok: boolean; }; shutdown(): void; private openWatch; private createWatcher; private createParentWatcher; private releaseWatch; private fileExists; private onFileEvent; private readFromOffset; private backfill; private deliver; private flush; private ensureTelemetryPoller; private checkTelemetryDateRollover; } export declare function initEventStream(server: Server, projectRoot: string, queueBound?: number): EventStreamManager; export declare function getEventStream(): EventStreamManager; //# sourceMappingURL=event-stream.d.ts.map