import { A as SessionTranscriptUpdate } from "./types-core-WKCuh2K8.js";
import { s as GatewayBroadcastToConnIdsFn } from "./types-B7M5s1Hq.js";
import { o as SessionEventSubscriberRegistry, s as SessionMessageSubscriberRegistry } from "./chat-abort-Bkz950s7.js";
//#region src/sessions/session-lifecycle-events.d.ts
type SessionLifecycleEvent = {
  sessionKey: string;
  reason: string;
  parentSessionKey?: string;
  label?: string;
  displayName?: string;
};
//#endregion
//#region src/gateway/server-session-events.d.ts
type SessionEventSubscribers = Pick<SessionEventSubscriberRegistry, "getAll">;
type SessionMessageSubscribers = Pick<SessionMessageSubscriberRegistry, "get">;
declare function createTranscriptUpdateBroadcastHandler(params: {
  broadcastToConnIds: GatewayBroadcastToConnIdsFn;
  sessionEventSubscribers: SessionEventSubscribers;
  sessionMessageSubscribers: SessionMessageSubscribers;
}): (update: SessionTranscriptUpdate) => void;
declare function createLifecycleEventBroadcastHandler(params: {
  broadcastToConnIds: GatewayBroadcastToConnIdsFn;
  sessionEventSubscribers: SessionEventSubscribers;
}): (event: SessionLifecycleEvent) => void;
//#endregion
export { createLifecycleEventBroadcastHandler, createTranscriptUpdateBroadcastHandler };