import { ICallback, Timer } from 'redis-smq-common';
import { MessageHandler } from '../message-handler/message-handler.js';
import { MessageHandlerRunner } from './message-handler-runner.js';
import { IConsumerMessageHandlerParams } from '../message-handler/types/index.js';
import { IConsumerContext } from '../types/consumer-context.js';
export declare class MultiplexedMessageHandlerRunner extends MessageHandlerRunner {
    protected readonly multiplexingTickIntervalMs: number;
    protected schedulerTimer: Timer;
    protected index: number;
    protected activeMessageHandler: MessageHandler | null;
    constructor(consumerContext: IConsumerContext);
    protected scheduleNextTick: () => void;
    protected getNextMessageHandler(): MessageHandler | null;
    protected execNextMessageHandler: () => void;
    protected createMessageHandlerInstance(handlerParams: IConsumerMessageHandlerParams): MessageHandler;
    protected shutdownMessageHandler(messageHandler: MessageHandler, cb: ICallback<void>): void;
    protected goingUp(): ((cb: ICallback<void>) => void)[];
    protected goingDown(): ((cb: ICallback<void>) => void)[];
}
//# sourceMappingURL=multiplexed-message-handler-runner.d.ts.map