import { ApiClient } from "@lodestar/api"; import { ChainForkConfig } from "@lodestar/config"; import { Metrics } from "../metrics.js"; import { PubkeyHex } from "../types.js"; import { IClock, LoggerVc } from "../util/index.js"; import { ChainHeaderTracker } from "./chainHeaderTracker.js"; import { ValidatorEventEmitter } from "./emitter.js"; import { SyncingStatusTracker } from "./syncingStatusTracker.js"; import { ValidatorStore } from "./validatorStore.js"; export type SyncCommitteeServiceOpts = { scAfterBlockDelaySlotFraction?: number; distributedAggregationSelection?: boolean; }; /** * Service that sets up and handles validator sync duties. */ export declare class SyncCommitteeService { private readonly config; private readonly logger; private readonly api; private readonly clock; private readonly validatorStore; private readonly emitter; private readonly chainHeaderTracker; readonly syncingStatusTracker: SyncingStatusTracker; private readonly metrics; private readonly opts?; private readonly dutiesService; constructor(config: ChainForkConfig, logger: LoggerVc, api: ApiClient, clock: IClock, validatorStore: ValidatorStore, emitter: ValidatorEventEmitter, chainHeaderTracker: ChainHeaderTracker, syncingStatusTracker: SyncingStatusTracker, metrics: Metrics | null, opts?: SyncCommitteeServiceOpts | undefined); removeDutiesForKey(pubkey: PubkeyHex): void; private runSyncCommitteeTasks; private produceAndPublishSyncCommittees; private produceAndPublishAggregates; } //# sourceMappingURL=syncCommittee.d.ts.map