import type { Command } from 'commander';
import type { ActiveSession } from '../lib/session/active.js';
export declare function registerDetachCommand(program: Command): void;
/**
 * Stop a live agent's interactive process and tear down its mux. tmux-hosted
 * sessions are killed by session (closes the pane, ends the agent, reaps its
 * helper processes); a plain process is SIGTERM'd (then SIGKILLed) by pid. Either
 * way we wait for the process to actually exit before returning.
 *
 * Shared by two callers: `detach` (stop the terminal so the headless resume it
 * spawns next doesn't fight the old process over the same transcript) and `stop`
 * (end the session outright — no resume). `socket` defaults to the shared agents
 * socket; it is a parameter only so a test can drive an isolated tmux server.
 */
export declare function stopInteractive(s: ActiveSession, socket?: string): Promise<void>;
export declare function detachAction(id: string, opts?: {
    local?: boolean;
}): Promise<void>;
