import { type ChromeThemeTokens } from "./chrome.js"; import type { CommandResult } from "./types.js"; export interface TmuxExec { exec(command: string, args: string[]): Promise; } export declare const realTmuxExec: TmuxExec; export declare function hasTmux(exec?: TmuxExec): Promise; export declare function sessionExists(name: string, exec?: TmuxExec): Promise; export declare function newSession(options: { name: string; cwd: string; command: string; env?: Record; }, exec?: TmuxExec): Promise; export declare function killSession(name: string, exec?: TmuxExec): Promise; export interface CapturePaneOptions { preserveStyles?: boolean; } export declare function capturePane(name: string, lines?: number, optionsOrExec?: CapturePaneOptions | TmuxExec, exec?: TmuxExec): Promise; export declare function sendTextToSession(name: string, text: string, exec?: TmuxExec): Promise; export declare function configureManagedSessionStatusBar(options: { name: string; title: string; cwd: string; theme?: ChromeThemeTokens; }, exec?: TmuxExec): Promise; export declare function configureDashboardStatusBar(options: { name: string; cwd: string; theme?: ChromeThemeTokens; }, exec?: TmuxExec): Promise; export interface SwitchClientOptions { targetSession: string; returnKey?: string; managedPrefix?: string; stateDir?: string; renameKey?: string; actionPath?: string; returnSession?: { name: string; cwd: string; command: string; env?: Record; }; } interface SavedKeyBinding { key: string; restorePath: string; } interface ActiveReturnBinding { ownerPid: number; controlSession: string; targetSession: string; returnKey: string; restorePath: string; keyBindings?: SavedKeyBinding[]; } export type SwitchReturnBindingStatus = { active: false; } | (ActiveReturnBinding & { active: true; stale: boolean; }); export declare function currentTmuxSession(exec?: TmuxExec): Promise; export declare function currentTmuxClient(exec?: TmuxExec): Promise; export declare function switchClientWithReturn(options: SwitchClientOptions, exec?: TmuxExec): Promise; export declare function inspectSwitchReturnBinding(options?: { stateDir?: string; }): Promise; export declare function restoreSwitchReturnBinding(options?: { stateDir?: string; onlyOwnerPid?: number; refuseLiveForeignOwner?: boolean; }, exec?: TmuxExec): Promise; export {};