export declare class TabLeaderElection {
    private channel;
    private isLeader;
    private tabId;
    private heartbeatInterval?;
    private electionTimeout?;
    private monitorInterval?;
    private onLeadershipChange?;
    private lastLeaderHeartbeat;
    private isElectionInProgress;
    private electionStartTime;
    constructor(channelName: string, onLeadershipChange?: (isLeader: boolean) => void);
    private generateTabId;
    private setupChannelHandlers;
    private requestElection;
    private cancelElection;
    private isFollower;
    private becomeLeader;
    private becomeFollower;
    private monitorLeader;
    getIsLeader(): boolean;
    cleanup(): void;
}
