import { BaseSessionManager, type SessionAwareConfig, type SessionRecord } from './base-session-manager.js'; import { type ParseResult } from './cli-adapters/base.js'; import { type RawChatAttachment } from './chat-attachment-prep.js'; import type { ChatDispatchArgs, ChatDispatchResult, ChatSessionManager as ChatSessionManagerContract } from './event-dispatcher.js'; interface ChatHistoryEntry { sender_type?: string; sender_id?: string; sender_name?: string; content?: string; created_at?: string; type?: string; attachments?: RawChatAttachment[]; } export declare function buildChatFallbackMessage(body: string, exitCode: number | null): string; export declare class ChatSessionManager extends BaseSessionManager implements ChatSessionManagerContract { #private; constructor(config: SessionAwareConfig); applyRoomKeepAlive(roomId: string, agentId: string, opts: { action: 'extend' | 'release'; minutes?: number; reason?: string; }): { ok: boolean; error?: string; until?: number; ceilingMs?: number; }; _historyRooms(): string[]; _historyEntries(roomId: string): ChatHistoryEntry[]; recordRoomMessage(payload: any): void; dispatch(spec: ChatDispatchArgs): Promise; protected _onStdoutParsed(sess: SessionRecord, parsed: ParseResult, _rawLine: string): void; protected _onStderrLine(_sess: SessionRecord, _line: string): void; protected _onForcedTermination(sess: SessionRecord, reason: string, info: { liveTaskCount: number; }): void; protected _onLongRunningEscalation(sess: SessionRecord, ageHours: string): void; protected _onSessionStatusChanged(sess: SessionRecord): void; protected _onChildExit(sess: SessionRecord, code: number | null, _signal: NodeJS.Signals | null): Promise; protected _sweepTurnEndOrphans(sess: SessionRecord): Promise; _snapshot(): Array & { roomId: string; agentId: string; }>; } export {};