/** * Zellij multiplexer implementation * * Creates panes for sub-agent sessions in Zellij. * * The default mode creates a dedicated "opencode-agents" tab: * - First sub-agent uses the default pane from new-tab * - Subsequent sub-agents create new panes * - User stays in their original tab * * The optional "current-tab" mode creates panes in the tab containing the * parent OpenCode pane instead. */ import type { MultiplexerLayout, ZellijPaneMode } from '../../config/schema'; import type { Multiplexer, PaneResult } from '../types'; export declare class ZellijMultiplexer implements Multiplexer { private readonly paneMode; readonly type: "zellij"; private binaryPath; private hasChecked; private agentTabId; private firstPaneId; private firstPaneUsed; private parentTabId; private readonly parentPaneId; private readonly paneDirection; constructor(layout?: MultiplexerLayout, mainPaneSize?: number, paneMode?: ZellijPaneMode); isAvailable(): Promise; isInsideSession(): boolean; spawnPane(sessionId: string, description: string, serverUrl: string, directory: string): Promise; private createPaneInCurrentTab; private createPaneInAgentTab; private runInPane; private ensureAgentTab; private listPanesJson; private getFirstPaneInTab; private findTabByName; private findTabByNameText; private getCurrentTabId; closePane(paneId: string): Promise; applyLayout(_layout: MultiplexerLayout, _mainPaneSize: number): Promise; private directionArgs; private tabIdArgs; private getParentTabId; private findTabIdForPane; private getBinary; }