export interface TmuxPaneSnapshot { paneId: string; currentCommand: string; startCommand: string; currentPath?: string; paneLeft?: number; paneTop?: number; paneWidth?: number; paneHeight?: number; paneBottom?: number; windowWidth?: number; windowHeight?: number; } export declare const OMX_TMUX_HUD_LEADER_PANE_ENV = "OMX_TMUX_HUD_LEADER_PANE"; export declare const TMUX_PANE_FIELD_SEPARATOR = "\u001F"; export declare const TMUX_PANE_FIELD_SEPARATOR_OCTAL_ESCAPE = "\\037"; export interface HudPaneOwner { sessionId?: string; sessionIds?: string[]; leaderPaneId?: string; } export type HudRuntimeRootSource = 'team-env' | 'omx-root-env' | 'omx-state-root-env' | 'cwd-default'; export interface HudRuntimeEnvInput { sessionId?: string; leaderPaneId?: string; omxRoot?: string; omxStateRoot?: string; omxTeamStateRoot?: string; rootSource?: HudRuntimeRootSource; } export interface HudRuntimeEnvOutput { env: Record; owner: HudPaneOwner; } type TmuxExecSync = (args: string[]) => string; export interface RegisterHudResizeHookOptions { cwd?: string; env?: NodeJS.ProcessEnv; } export declare function parseTmuxPaneSnapshot(output: string): TmuxPaneSnapshot[]; export declare function isHudWatchPane(pane: TmuxPaneSnapshot): boolean; export declare function readHudPaneOwner(pane: TmuxPaneSnapshot): HudPaneOwner; export declare function findLegacyFocusedHudWatchPaneIds(panes: TmuxPaneSnapshot[], currentPaneId?: string): string[]; export declare function hudPaneMatchesOwner(pane: TmuxPaneSnapshot, owner?: HudPaneOwner): boolean; export declare function findHudWatchPaneIds(panes: TmuxPaneSnapshot[], currentPaneId?: string, owner?: HudPaneOwner): string[]; export declare function reapDeadHudPanes(panes: TmuxPaneSnapshot[], opts?: { isLivePane?: (paneId: string) => boolean; killPane?: (paneId: string) => boolean; }): { reaped: string[]; preserved: string[]; }; export declare function parsePaneIdFromTmuxOutput(rawOutput: string): string | null; export declare function shellEscapeSingle(value: string): string; export declare function buildHudResizeHookName(sessionId: string, windowId: string, leaderPaneId: string): string; export declare function buildHudResizeHookSlot(hookName: string): string; export declare function buildHudLayoutHookSlot(hookName: string): string; export interface HudResizeHookContext { sessionId: string; windowId: string; leaderPaneId: string; hookName: string; hookSlot: string; layoutHookSlot: string; } export declare function parseHudResizeHookContext(output: string, leaderPaneId: string): HudResizeHookContext | null; export declare function readHudResizeHookContext(leaderPaneId: string | undefined, execTmuxSync?: TmuxExecSync): HudResizeHookContext | null; export declare function buildHudRuntimeEnv(input?: HudRuntimeEnvInput): HudRuntimeEnvOutput; export declare function buildHudWatchCommand(omxBin: string, preset?: string, sessionId?: string, omxRoot?: string, leaderPaneId?: string, rootEnv?: Pick): string; export declare function listCurrentWindowPanes(execTmuxSync?: TmuxExecSync, currentPaneId?: string): TmuxPaneSnapshot[]; export declare function readActiveTmuxPaneId(execTmuxSync?: TmuxExecSync): string | null; export declare function listCurrentWindowHudPaneIds(currentPaneId?: string, execTmuxSync?: TmuxExecSync, owner?: HudPaneOwner): string[]; export declare function readCurrentWindowSize(execTmuxSync?: TmuxExecSync, currentPaneId?: string): { width: number | null; height: number | null; }; export declare function createHudWatchPane(cwd: string, hudCmd: string, options?: { heightLines?: number; fullWidth?: boolean; targetPaneId?: string; }, execTmuxSync?: TmuxExecSync): string | null; export declare function killTmuxPane(paneId: string, execTmuxSync?: TmuxExecSync): boolean; export declare function resizeTmuxPane(paneId: string, heightLines: number, execTmuxSync?: TmuxExecSync): boolean; export declare function registerHudResizeHook(hudPaneId: string, leaderPaneId: string | undefined, heightLines: number, optionsOrExecTmuxSync?: RegisterHudResizeHookOptions | TmuxExecSync, maybeExecTmuxSync?: TmuxExecSync): boolean; export declare function unregisterHudResizeHook(leaderPaneId: string | undefined, execTmuxSync?: TmuxExecSync): boolean; export {}; //# sourceMappingURL=tmux.d.ts.map