import { Observable } from 'rxjs';
import { TaskQueue } from './task-queue';
import { IChannel } from '../i-channel';
import type { GenericErrorInboundMessage, ILogger } from '../../../types';
import { ITaskVisitor } from './i-task-visitor';
export declare class TaskQueueFactory {
    private readonly channel;
    private readonly messageSendTimeout;
    private readonly maxMessageSendAttempts;
    private readonly initialMessageSendRetryDelay;
    private readonly logger;
    private readonly genericErrorsStream;
    private readonly taskVisitor;
    constructor(channel: IChannel, messageSendTimeout: number, maxMessageSendAttempts: number, initialMessageSendRetryDelay: number, logger: ILogger, genericErrorsStream: Observable<GenericErrorInboundMessage>, taskVisitor: ITaskVisitor);
    createTaskQueue(): TaskQueue;
}
