export interface HeartbeatState {
    isBeating: boolean;
    timeout?: NodeJS.Timeout;
    heartbeatMs: number;
    onHeartAttack: () => void;
}
/**
 * Creates a new heartbeat state
 * @param heartbeatMs - Heartbeat interval in milliseconds
 * @param onHeartAttack - Callback function when heartbeat fails
 * @returns Initial heartbeat state
 */
export declare const createHeartbeatState: (heartbeatMs: number, onHeartAttack: () => void) => HeartbeatState;
/**
 * Starts the heartbeat monitoring
 * @param state - Current heartbeat state
 * @returns Updated heartbeat state
 */
export declare const startHeartbeat: (state: HeartbeatState) => HeartbeatState;
/**
 * Stops the heartbeat monitoring
 * @param state - Current heartbeat state
 * @returns Updated heartbeat state
 */
export declare const stopHeartbeat: (state: HeartbeatState) => HeartbeatState;
/**
 * Refreshes the heartbeat timer by stopping and restarting it
 * @param state - Current heartbeat state
 * @returns Updated heartbeat state
 */
export declare const refreshHeartbeat: (state: HeartbeatState) => HeartbeatState;
/**
 * Updates the heartbeat interval
 * @param state - Current heartbeat state
 * @param newHeartbeatMs - New heartbeat interval in milliseconds
 * @returns Updated heartbeat state
 */
export declare const updateHeartbeatInterval: (state: HeartbeatState, newHeartbeatMs: number) => HeartbeatState;
/**
 * Checks if the heartbeat is currently active
 * @param state - Current heartbeat state
 * @returns True if heartbeat is active
 */
export declare const isHeartbeatActive: (state: HeartbeatState) => boolean;
/**
 * Gets the current heartbeat interval
 * @param state - Current heartbeat state
 * @returns Heartbeat interval in milliseconds
 */
export declare const getHeartbeatInterval: (state: HeartbeatState) => number;
//# sourceMappingURL=heartbeat.d.ts.map