/**
 * Per-session preview-change event broadcaster.
 *
 * The mount endpoint (WP-D) emits `preview-changed` events here after every
 * successful write; the SSE handler (WP-B) subscribes per session and forwards
 * to listening browser tabs.
 *
 * Module-scoped EventEmitter map keyed by sessionId. Event payload is the
 * `MountResult` plus an `mtime` timestamp.
 */
export interface PreviewChangedEvent {
    entry: string;
    mtime: number;
    url?: string;
    path?: string;
    contentHash?: string;
    artifactId?: string;
}
/** Fire a `preview-changed` event on the session's channel. */
export declare function broadcastPreviewChanged(sessionId: string, payload: PreviewChangedEvent): void;
/** Subscribe to `preview-changed` events for a session. Returns unsubscribe. */
export declare function subscribePreviewChanged(sessionId: string, listener: (payload: PreviewChangedEvent) => void): () => void;
/** Drop all listeners for a session (called on archive/cleanup). */
export declare function clearPreviewListeners(sessionId: string): void;
//# sourceMappingURL=events.d.ts.map