/**
 * Stream Commands — Agent Stream, PTY I/O, Provider Settings,
 *                   IDE Extension Settings, Extension Script Execution
 */
import type { CommandResult, CommandHelpers } from './handler.js';
export declare function handleSelectSession(h: CommandHelpers, args: any): Promise<CommandResult>;
export declare function handleOpenPanel(h: CommandHelpers, args: any): Promise<CommandResult>;
export declare function handlePtyInput(h: CommandHelpers, args: any): Promise<CommandResult>;
export declare function handlePtyResize(_h: CommandHelpers, args: any): CommandResult;
/**
 * MESH-READ-TERMINAL (feature 2: RAW terminal read). Reads the CURRENT rendered
 * PTY viewport of a specific mesh worker session for the mesh_read_terminal tool.
 *
 * This is the daemon-side `read_terminal` verb. It runs BOTH on the coordinator
 * (for a locally-hosted worker) and, after router forwarding
 * (MESH_FORWARDABLE_SESSION_COMMANDS + _meshDirectDispatch), on the OWNING remote
 * worker daemon — where the live viewport actually exists. The instance's
 * getTerminalScreenSnapshot() is gated on isMeshWorkerSession() (returns null for
 * a non-mesh session), which the MCP layer complements with a mesh/session/node
 * ownership cross-check. SECURITY: the raw viewport can contain tokens / args /
 * env / user data — never logged here (only its byte size / truncation flag are).
 */
export declare function handleReadTerminal(h: CommandHelpers, args: any): CommandResult;
/**
 * MESH-SEND-KEYS (feature 3: key injection). Inject a structured key sequence into
 * a specific mesh worker session's PTY for the mesh_send_keys tool.
 *
 * Daemon-side `send_keys` verb. Like read_terminal it runs on the coordinator for
 * a local worker and, after router forwarding (MESH_FORWARDABLE_SESSION_COMMANDS +
 * _meshDirectDispatch), on the OWNING remote worker daemon. The instance's
 * injectKeys() is gated on isMeshWorkerSession(); the MCP layer complements it with
 * mesh/session/node ownership + the destructive-key double gate (confirm_destructive
 * + mesh policy) + audit ledger.
 *
 * Defense-in-depth here: even though the MCP layer gates destructive keys, the
 * daemon re-enforces confirm_destructive so a direct/forwarded send_keys that
 * contains CTRL_C/ESC without confirm is refused at the boundary too.
 * SECURITY: never logs the literal text body (only key enums / byte counts).
 */
export declare function handleSendKeys(h: CommandHelpers, args: any): Promise<CommandResult>;
export declare function handleGetProviderSettings(h: CommandHelpers, args: any): CommandResult;
export declare function handleSetProviderSetting(h: CommandHelpers, args: any): Promise<CommandResult>;
export declare function handleGetProviderSourceConfig(h: CommandHelpers, _args: any): CommandResult;
export declare function handleSetProviderSourceConfig(h: CommandHelpers, args: any): Promise<CommandResult>;
export declare function normalizeProviderScriptArgs(args: any, scriptName?: string): Record<string, any>;
export declare function handleExtensionScript(h: CommandHelpers, args: any, scriptName: string): Promise<CommandResult>;
export declare function handleProviderScript(h: CommandHelpers, args: any): Promise<CommandResult>;
export declare function handleGetIdeExtensions(h: CommandHelpers, args: any): CommandResult;
export declare function handleSetIdeExtension(h: CommandHelpers, args: any): CommandResult;
