type LeaderCallback = () => void | Promise; export interface LeaderServiceOptions { ttlMs?: number; renewalIntervalMs?: number; retryDelayMs?: number; /** Redis configuration namespace, such as `BULL`; defaults to `MUTEX`. */ redisConfigPrefix?: string; } export declare class LeaderService { private lockId; private key; private _isLeader; private running; private renewTimer; private retryTimer; private becameLeaderCallback; private lostLeaderCallback; private ttlMs; private renewalIntervalMs; private retryDelayMs; private readonly redisConfigPrefix; private logger; constructor(key: string, options?: LeaderServiceOptions); private getRedisClient; get isLeader(): boolean; setBecameLeaderCallback(callback: LeaderCallback): void; setLostLeaderCallback(callback: LeaderCallback): void; start(): void; stop(): Promise; private tryAcquire; private startRenewal; private handleLostLeadership; } export {}; //# sourceMappingURL=leader.d.ts.map