import { ApiClient, routes } from "@lodestar/api"; import { Slot } from "@lodestar/types"; import { Logger } from "@lodestar/utils"; import { Metrics } from "../metrics.js"; import { IClock } from "../util/clock.js"; export type SyncingStatus = routes.node.SyncingStatus; type RunOnResyncedFn = (slot: Slot, signal: AbortSignal) => Promise; /** * Track the syncing status of connected beacon node(s) */ export declare class SyncingStatusTracker { private readonly logger; private readonly api; private readonly clock; private readonly metrics; private prevSyncingStatus?; private readonly fns; constructor(logger: Logger, api: ApiClient, clock: IClock, metrics: Metrics | null); /** * Run function when node status changes from syncing to synced * * Note: does not consider if execution client is offline or syncing and * hence it is not useful to schedule tasks that require a non-optimistic node. */ runOnResynced(fn: RunOnResyncedFn): void; private checkSyncingStatus; } export {}; //# sourceMappingURL=syncingStatusTracker.d.ts.map