import type { CommandExecutor, CommandOptions, CommandResult, ExecutionCapability, ExecutionEnvironment, ExecutionRoutingStrategy, HybridExecutionContextConfig, RemoteTarget } from '../types/connector/index.js'; import type { Logger } from '../utils/logger.js'; import { BaseExecutionContext } from './base.js'; import { LocalExecutionContext } from './local.js'; import { RemoteExecutionContext } from './remote.js'; export interface HybridExecutionContextOptions { id: string; local: { cwd: string; fsAccess?: boolean; envVars?: Record; capabilities?: ExecutionCapability[]; shell?: string; maxOutputBytes?: number; }; remotes: RemoteTarget[]; routingStrategy?: ExecutionRoutingStrategy; log?: Logger; } export declare class HybridExecutionContext extends BaseExecutionContext implements CommandExecutor { readonly id: string; readonly environment: ExecutionEnvironment; private localCtx; private remoteCtxs; private remoteTargets; private routingStrategy; private roundRobinIndex; private admissionsOpen; constructor(options: HybridExecutionContextOptions); protected doInitialize(): Promise; protected onInitializationStarted(): void; protected onInitializationCommitted(): void; protected onTeardownRequested(): void; protected doTeardown(): Promise; getLocal(): LocalExecutionContext; getRemote(remoteId: string): RemoteExecutionContext | undefined; getRemotes(): RemoteExecutionContext[]; getRoutingStrategy(): ExecutionRoutingStrategy; setRoutingStrategy(strategy: ExecutionRoutingStrategy): void; connectAllRemotes(): Promise; disconnectAllRemotes(): Promise; executeCommand(command: string, args?: string[], options?: CommandOptions): Promise; toConfig(): HybridExecutionContextConfig; private getFirstConnectedRemote; private getRoundRobinTargets; } //# sourceMappingURL=hybrid.d.ts.map