import { RuntimeSessionState, RuntimeSessionPetReaction, RuntimeSessionPetActivity } from '@shadowob/shared/types'; export { RuntimeSessionPetActivity, RuntimeSessionPetReaction, RuntimeSessionState, runtimeSessionPetReactionForState } from '@shadowob/shared/types'; type ConnectorRuntimeId = 'openclaw' | 'hermes' | 'claude-code' | 'codex' | 'opencode' | 'cursor' | 'kimi' | 'copilot' | 'antigravity'; type RuntimeInstanceStatus = 'running' | 'available' | 'stopped' | 'missing' | 'error'; interface RuntimeInstanceInfo { runtimeId: ConnectorRuntimeId; instanceId: string; label: string; status: RuntimeInstanceStatus; endpoint?: string | null; capabilities: string[]; error?: string | null; metadata?: Record; } interface RuntimeSessionInfo { runtimeId: ConnectorRuntimeId; instanceId: string; sessionId: string; title?: string | null; workDir?: string | null; state: RuntimeSessionState; petReaction: RuntimeSessionPetReaction; petActivity?: RuntimeSessionPetActivity; model?: string | null; lastActivityAt?: string | null; startedAt?: string | null; source: 'server' | 'cli' | 'database' | 'storage' | 'transcript'; native?: Record; } interface RuntimeSessionSnapshot { scannedAt: string; runtimeIds: ConnectorRuntimeId[]; instances: RuntimeInstanceInfo[]; sessions: RuntimeSessionInfo[]; } type RuntimeSessionEventType = 'snapshot' | 'session_added' | 'session_removed' | 'session_changed'; interface RuntimeSessionEvent { type: RuntimeSessionEventType; at: string; runtimeId?: ConnectorRuntimeId; sessionId?: string; previousState?: RuntimeSessionState; state?: RuntimeSessionState; previousPetReaction?: RuntimeSessionPetReaction; petReaction?: RuntimeSessionPetReaction; previousPetActivity?: RuntimeSessionPetActivity; petActivity?: RuntimeSessionPetActivity; session?: RuntimeSessionInfo; snapshot?: RuntimeSessionSnapshot; } interface RuntimeSessionScanOptions { runtimeId?: string; opencodeUrl?: string; homeDir?: string; env?: NodeJS.ProcessEnv; limit?: number; } interface RuntimeSessionSendOptions extends RuntimeSessionScanOptions { runtimeId: string; sessionId: string; message: string; timeoutMs?: number; } interface RuntimeSessionSendResult { runtimeId: ConnectorRuntimeId; sessionId: string; accepted: boolean; mode: 'server' | 'process'; events?: unknown[]; stdout?: string; stderr?: string; exitCode?: number | null; } declare function runtimeSessionPetReaction(session: Pick & { petReaction?: RuntimeSessionPetReaction; }): RuntimeSessionPetReaction; declare function scanRuntimeSessions(options?: RuntimeSessionScanOptions): Promise; declare function diffRuntimeSessionSnapshots(previous: RuntimeSessionSnapshot | null, next: RuntimeSessionSnapshot): RuntimeSessionEvent[]; declare function renderRuntimeSessionPanel(snapshot: RuntimeSessionSnapshot): string; declare function sendRuntimeSessionMessage(options: RuntimeSessionSendOptions): Promise; export { type RuntimeInstanceInfo, type RuntimeInstanceStatus, type RuntimeSessionEvent, type RuntimeSessionEventType, type RuntimeSessionInfo, type RuntimeSessionScanOptions, type RuntimeSessionSendOptions, type RuntimeSessionSendResult, type RuntimeSessionSnapshot, diffRuntimeSessionSnapshots, renderRuntimeSessionPanel, runtimeSessionPetReaction, scanRuntimeSessions, sendRuntimeSessionMessage };