type LeaderCallback = () => void | Promise<void>;
export interface LeaderServiceOptions {
    ttlMs?: number;
    renewalIntervalMs?: number;
    retryDelayMs?: number;
}
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 logger;
    constructor(key: string, options?: LeaderServiceOptions);
    get isLeader(): boolean;
    setBecameLeaderCallback(callback: LeaderCallback): void;
    setLostLeaderCallback(callback: LeaderCallback): void;
    start(): void;
    stop(): Promise<void>;
    private tryAcquire;
    private startRenewal;
    private handleLostLeadership;
}
export {};
export declare type __ΩLeaderServiceOptions = any[];
//# sourceMappingURL=leader.d.ts.map