import { ApiClient } from "@lodestar/api"; import { BeaconConfig } from "@lodestar/config"; import { Root, RootHex, Slot } from "@lodestar/types"; import { Logger } from "@lodestar/utils"; import { ValidatorEventEmitter } from "./emitter.js"; export type HeadEventData = { slot: Slot; head: RootHex; previousDutyDependentRoot: RootHex; currentDutyDependentRoot: RootHex; }; export type ExecutionPayloadAvailableEventData = { slot: Slot; blockRoot: RootHex; }; type RunEveryFn = (event: HeadEventData) => Promise; /** * Track the head slot/root using the event stream api "head". */ export declare class ChainHeaderTracker { private readonly config; private readonly logger; private readonly api; private readonly emitter; private headBlockSlot; private headBlockRoot; private readonly fns; constructor(config: BeaconConfig, logger: Logger, api: ApiClient, emitter: ValidatorEventEmitter); start(signal: AbortSignal): void; getCurrentChainHead(slot: Slot): Root | null; runOnNewHead(fn: RunEveryFn): void; private onEvent; } export {}; //# sourceMappingURL=chainHeaderTracker.d.ts.map