import type { SupervisorGateway, SupervisorProbeResult, SupervisorSpawnResult } from '../../../../modules/supervisor-management/entities/supervisor/supervisor.gateway.js';
export interface SupervisorProcessProbeResult {
    exitCode: number;
    stdout: string;
    timedOut: boolean;
}
export type SupervisorProcessProbe = () => Promise<SupervisorProcessProbeResult>;
export interface SupervisorProcessSpawnResult {
    pid: number | null;
    error: string | null;
}
export type SupervisorProcessSpawner = () => SupervisorProcessSpawnResult;
export interface SupervisorCliGatewayDependencies {
    probe: SupervisorProcessProbe;
    spawn: SupervisorProcessSpawner;
}
export declare function createDefaultSupervisorProbe(): SupervisorProcessProbe;
export declare function createDefaultSupervisorSpawner(): SupervisorProcessSpawner;
export declare class SupervisorCliGateway implements SupervisorGateway {
    private readonly deps;
    constructor(deps: SupervisorCliGatewayDependencies);
    probe(): Promise<SupervisorProbeResult>;
    spawnDetached(): Promise<SupervisorSpawnResult>;
}
//# sourceMappingURL=supervisor.cli.gateway.d.ts.map