import { Observable } from 'rxjs';
import { ITaskVisitor } from '../queue';
import { TaskPortOutputCommand } from '../queue-tasks';
import type { ILogger, PortOutputCommandFeedbackInboundMessage } from '../../../types';
import { FeedbackHandler } from './feedback-handler';
/**
 * A visitor that handles port output command tasks.
 * It subscribes to the feedback stream and handles the feedback messages.
 */
export declare class TaskVisitor implements ITaskVisitor {
    private readonly feedbackStream;
    private readonly logger;
    private commands;
    private readonly subscription;
    constructor(feedbackStream: Observable<PortOutputCommandFeedbackInboundMessage>, logger: ILogger, feedbackHandler: FeedbackHandler);
    visitTaskPortOutputCommand(task: TaskPortOutputCommand): void;
    visitTaskWithResponse(): void;
    visitTaskWithoutResponse(): void;
    dispose(): void;
    private removePortOutputCommand;
}
