import { EventEmitter } from "node:events"; import { StrictEventEmitter } from "strict-event-emitter-types"; import { Slot } from "@lodestar/types"; import { HeadEventData } from "./chainHeaderTracker.js"; export declare enum ValidatorEvent { /** * This event signals that the node chain has a new head. */ chainHead = "chainHead", /** * This event signals that an execution payload and blobs are available for payload attestation. */ executionPayloadAvailable = "executionPayloadAvailable" } export type ExecutionPayloadAvailableEventData = { slot: Slot; blockRoot: string; }; export type ValidatorEvents = { [ValidatorEvent.chainHead]: (head: HeadEventData) => void; [ValidatorEvent.executionPayloadAvailable]: (payload: ExecutionPayloadAvailableEventData) => void; }; declare const ValidatorEventEmitter_base: new () => StrictEventEmitter, ValidatorEvents>; /** * Emit important validator events. */ export declare class ValidatorEventEmitter extends ValidatorEventEmitter_base { /** * Wait for the first block to come with slot >= provided slot. */ waitForBlockSlot(slot: Slot): Promise; } export {}; //# sourceMappingURL=emitter.d.ts.map