import type { CommandExecutor, CommandOptions, CommandResult, ExecutionCapability, ExecutionEnvironment, RemoteCommandHandler, RemoteExecutionContextConfig, RemoteTarget } from '../types/connector/index.js'; import type { Logger } from '../utils/logger.js'; import { BaseExecutionContext } from './base.js'; export interface RemoteExecutionContextOptions { id: string; target: RemoteTarget; capabilities?: ExecutionCapability[]; /** * Executes a command while preserving its argument boundaries at Namzu's * remote seam. A downstream executor may still interpret `shell` according * to its own target. */ commandExecutor?: CommandExecutor; /** @deprecated Use `commandExecutor`. */ commandHandler?: RemoteCommandHandler; log?: Logger; } export declare class RemoteExecutionContext extends BaseExecutionContext implements CommandExecutor { readonly id: string; readonly environment: ExecutionEnvironment; private target; private connected; private capabilities; private commandExecutor; private commandHandler; private lifecycleAdmissionsOpen; private readonly activeCommands; constructor(options: RemoteExecutionContextOptions); protected doInitialize(): Promise; protected onInitializationStarted(): void; protected onInitializationCommitted(): void; protected onTeardownRequested(): void; protected doTeardown(): Promise; connect(): Promise; disconnect(): Promise; isConnected(): boolean; getTarget(): RemoteTarget; getConnectionString(): string; getCapabilities(): ExecutionCapability[]; hasCapability(cap: ExecutionCapability): boolean; setCommandExecutor(executor: CommandExecutor): void; /** @deprecated Use `setCommandExecutor()`. */ setCommandHandler(handler: RemoteCommandHandler): void; executeCommand(command: string, args?: string[], options?: CommandOptions): Promise; /** * @deprecated Use `executeCommand()` so command arguments retain their * boundaries at Namzu's remote execution seam. */ executeRemote(command: string, options?: CommandOptions): Promise; toConfig(): RemoteExecutionContextConfig; private validateTarget; private admitCommand; private assertCancellationUnsupported; private assertIdleForDisconnect; private trackCommand; } //# sourceMappingURL=remote.d.ts.map