import type { Command } from "commander";
import type { CliContainer } from "../container.js";
import { type CommandFlags, type ExecutionResources } from "./shared.js";
import type { SpawnCommandOptions } from "../../providers/spawn-options.js";
export interface CustomSpawnHandlerContext {
    container: CliContainer;
    service: string;
    options: SpawnCommandOptions;
    flags: CommandFlags;
    resources: ExecutionResources;
}
export type CustomSpawnHandler = (context: CustomSpawnHandlerContext) => Promise<void>;
export interface RegisterSpawnCommandOptions {
    handlers?: Record<string, CustomSpawnHandler>;
    extraServices?: string[];
}
export declare function registerSpawnCommand(program: Command, container: CliContainer, options?: RegisterSpawnCommandOptions): void;
