import type { RuntimeEventBus } from '../events/index.js'; import type { EmitterContext } from './index.js'; /** Emit SESSION_STARTED when a new session is created and initialising. */ export declare function emitSessionStarted(bus: RuntimeEventBus, ctx: EmitterContext, data: { sessionId: string; profileId: string; workingDir: string; }): void; /** Emit QUEUED_MESSAGES_CHANGED when the pending mid-turn queue mutates. */ export declare function emitQueuedMessagesChanged(bus: RuntimeEventBus, ctx: EmitterContext, data: { sessionId: string; action: 'enqueued' | 'edited' | 'deleted' | 'delivered'; messageId: string; pendingCount: number; }): void; /** Emit SESSION_LOADING when an existing session is being loaded from disk. */ export declare function emitSessionLoading(bus: RuntimeEventBus, ctx: EmitterContext, data: { sessionId: string; path: string; }): void; /** Emit SESSION_RESUMED when a previously saved session is being resumed. */ export declare function emitSessionResumed(bus: RuntimeEventBus, ctx: EmitterContext, data: { sessionId: string; turnCount: number; }): void; /** Emit SESSION_REPAIRING when session state is being repaired after a detected inconsistency. */ export declare function emitSessionRepairing(bus: RuntimeEventBus, ctx: EmitterContext, data: { sessionId: string; reason: string; }): void; /** Emit SESSION_RECONCILING when context messages are being reconciled with stored state. */ export declare function emitSessionReconciling(bus: RuntimeEventBus, ctx: EmitterContext, data: { sessionId: string; messageCount: number; }): void; /** Emit SESSION_READY when session is fully loaded and ready for input. */ export declare function emitSessionReady(bus: RuntimeEventBus, ctx: EmitterContext, data: { sessionId: string; }): void; /** Emit COMPANION_MESSAGE_RECEIVED when a companion-app follow-up message is received. */ export declare function emitCompanionMessageReceived(bus: RuntimeEventBus, ctx: EmitterContext, data: { sessionId: string; messageId: string; body: string; source: string; timestamp: number; metadata?: Readonly> | undefined; }): void; /** Emit SESSION_RECOVERY_FAILED when session recovery has failed unrecoverably. */ export declare function emitSessionRecoveryFailed(bus: RuntimeEventBus, ctx: EmitterContext, data: { sessionId: string; error: string; }): void; //# sourceMappingURL=session.d.ts.map