import type { SetupProcessGateway, SetupProcessSpawnOptions } from '../../../modules/setup-wizard/entities/setupProcess/setupProcess.gateway.js';
export interface SetupRunSubscriber {
    onEvent: (line: string) => void;
    onClose: (code: number | null) => void;
}
export type StartSetupRunResult = {
    status: 'started';
    runId: string;
} | {
    status: 'already-active';
    runId: string;
};
export type SubmitInputResult = {
    status: 'written';
} | {
    status: 'no-active-run';
};
export declare class SetupRunRegistry {
    private readonly processGateway;
    private activeRun;
    constructor(processGateway: SetupProcessGateway);
    start(options: SetupProcessSpawnOptions): StartSetupRunResult;
    subscribe(runId: string, subscriber: SetupRunSubscriber): () => void;
    submitInput(runId: string, line: string): SubmitInputResult;
    hasActiveRun(): boolean;
}
//# sourceMappingURL=streamSetupRun.usecase.d.ts.map