import { ApiClient, routes } from "@lodestar/api"; import { ChainForkConfig } from "@lodestar/config"; import { Slot } from "@lodestar/types"; import { Metrics } from "../metrics.js"; import { PubkeyHex } from "../types.js"; import { IClock, LoggerVc } from "../util/index.js"; import { ChainHeaderTracker } from "./chainHeaderTracker.js"; import { SyncingStatusTracker } from "./syncingStatusTracker.js"; import { ValidatorStore } from "./validatorStore.js"; export declare class PtcDutiesService { private readonly config; private readonly logger; private readonly api; private readonly clock; private readonly validatorStore; private readonly metrics; /** Maps a validator index to its PTC duty for each epoch. */ private readonly dutiesByIndexByEpoch; constructor(config: ChainForkConfig, logger: LoggerVc, api: ApiClient, clock: IClock, validatorStore: ValidatorStore, chainHeadTracker: ChainHeaderTracker, syncingStatusTracker: SyncingStatusTracker, metrics: Metrics | null); removeDutiesForKey(pubkey: PubkeyHex): void; /** Returns all PTC duties for the given slot. */ getDutiesAtSlot(slot: Slot): routes.validator.PtcDuty[]; private runDutiesTasks; private pollPtcDuties; private pollPtcDutiesForEpoch; private onNewHead; private handlePtcDutiesReorg; /** Run once per epoch to prune duties map. */ private pruneOldDuties; } //# sourceMappingURL=ptcDuties.d.ts.map