import { ICallback, ILogger, IRedisClient, Runnable, Timer } from 'redis-smq-common';
import { EventBus } from '../../../common/event-bus/event-bus.js';
import { TConsumerHeartbeatEvent } from '../../../common/index.js';
import { RedisClient } from '../../../common/redis-client/redis-client.js';
import { Consumer } from '../consumer/consumer.js';
import { IConsumerHeartbeat } from '../types/index.js';
export declare class ConsumerHeartbeat extends Runnable<TConsumerHeartbeatEvent> {
    protected static readonly heartbeatTTL: number;
    protected timer: Timer;
    protected keyConsumerHeartbeat: string;
    protected consumer: Consumer;
    protected logger: ILogger;
    protected redisClient: RedisClient;
    constructor(consumer: Consumer, redisClient: RedisClient, eventBus: EventBus | null);
    protected getLogger(): ILogger;
    protected getPayload(): IConsumerHeartbeat;
    protected beat(): void;
    protected goingUp(): ((cb: ICallback<void>) => void)[];
    protected goingDown(): ((cb: ICallback<void>) => void)[];
    static isConsumerAlive(redisClient: IRedisClient, consumerId: string, cb: ICallback<boolean>): void;
}
//# sourceMappingURL=consumer-heartbeat.d.ts.map