22 lines
840 B
TypeScript
22 lines
840 B
TypeScript
import type { TmuxConfig } from "../../config/schema";
|
|
import type { applyLayout, closeTmuxPane, enforceMainPaneWidth, replaceTmuxPane, spawnTmuxPane } from "../../shared/tmux";
|
|
import type { PaneAction, WindowState } from "./types";
|
|
export interface ActionResult {
|
|
success: boolean;
|
|
paneId?: string;
|
|
error?: string;
|
|
}
|
|
export interface ExecuteContext {
|
|
config: TmuxConfig;
|
|
serverUrl: string;
|
|
windowState: WindowState;
|
|
}
|
|
export interface ActionExecutorDeps {
|
|
spawnTmuxPane: typeof spawnTmuxPane;
|
|
closeTmuxPane: typeof closeTmuxPane;
|
|
replaceTmuxPane: typeof replaceTmuxPane;
|
|
applyLayout: typeof applyLayout;
|
|
enforceMainPaneWidth: typeof enforceMainPaneWidth;
|
|
}
|
|
export declare function executeActionWithDeps(action: PaneAction, ctx: ExecuteContext, deps: ActionExecutorDeps): Promise<ActionResult>;
|