import { type ChildProcess } from "node:child_process";
import type { AgentExecutorConfig } from "../agents/types.js";
export interface StartNodeContainerExecutorInput {
    cwd: string;
    hubUrl: string;
    agentId: string;
    executor: AgentExecutorConfig;
}
export interface NodeContainerExecutorHandle {
    readonly process: ChildProcess;
    stop(): void;
}
export type SpawnProcess = (command: string, args: string[], options: {
    cwd: string;
    stdio: ["ignore", "pipe", "pipe"];
}) => ChildProcess;
export interface NodeContainerExecutorLauncherOptions {
    spawn?: SpawnProcess;
}
export declare class NodeContainerExecutorLauncher {
    private readonly spawn;
    constructor(options?: NodeContainerExecutorLauncherOptions);
    start(input: StartNodeContainerExecutorInput): NodeContainerExecutorHandle;
}
//# sourceMappingURL=container-executor.d.ts.map