import { LeaderElection } from '../types.cjs';
export declare abstract class BaseLeaderElection implements LeaderElection {
    protected isLeaderState: boolean;
    protected listeners: Set<(isLeader: boolean) => void>;
    abstract requestLeadership(): Promise<boolean>;
    abstract releaseLeadership(): void;
    isLeader(): boolean;
    onLeadershipChange(callback: (isLeader: boolean) => void): () => void;
    protected notifyLeadershipChange(isLeader: boolean): void;
}
