import type { PluginInput } from '@opencode-ai/plugin'; import type { MultiplexerConfig } from '../config/schema'; interface SessionEvent { type: string; properties?: { info?: { id?: string; parentID?: string; title?: string; directory?: string; }; sessionID?: string; status?: { type: string; }; }; } export declare function resetMultiplexerSessionManagerState(): void; /** * Tracks child sessions and spawns/closes multiplexer panes for them. * * Uses session.status events for completion detection instead of polling, * with polling kept as a fallback for reliability. */ export declare class MultiplexerSessionManager { private instanceId; private serverUrl; private directory; private multiplexer; private sessions; private knownSessions; private spawningSessions; private closingSessions; private pollInterval?; private enabled; constructor(ctx: PluginInput, config: MultiplexerConfig); onSessionCreated(event: SessionEvent): Promise; onSessionStatus(event: SessionEvent): Promise; onSessionDeleted(event: SessionEvent): Promise; private startPolling; private stopPolling; private pollSessions; private fetchSessionStatuses; private closeSession; private respawnIfKnown; private isTrackedOrSpawning; private updatePolling; private getSessionId; cleanup(): Promise; } /** * @deprecated Use MultiplexerSessionManager instead */ export declare const TmuxSessionManager: typeof MultiplexerSessionManager; export {};