export interface LeaderElection {
    /** Attempt to become the leader */
    tryBecomeLeader(): Promise<boolean>;
    /** Check if this instance is currently the leader */
    isLeader(): boolean;
    /** Start the heartbeat to maintain leadership */
    startHeartbeat(): void;
    /** Stop the heartbeat */
    stopHeartbeat(): void;
    /** Resign leadership (for graceful shutdown) */
    resign(): Promise<void>;
    /** Get the instance ID */
    getInstanceId(): string;
    /** Start periodic leader checks (for non-leaders) */
    startLeaderCheck(onBecameLeader: () => void): void;
    /** Stop periodic leader checks */
    stopLeaderCheck(): void;
}
/**
 * Get the leader election singleton
 */
export declare function getLeaderElection(): LeaderElection;
/**
 * Reset the leader election instance (for testing)
 */
export declare function resetLeaderElection(): void;
//# sourceMappingURL=leader-election.d.ts.map