import type { PublicKey } from "@chainsafe/bls/types"; import { BeaconConfig } from "@lodestar/config"; import { LightClientBootstrap, LightClientHeader, LightClientUpdate, SyncPeriod } from "@lodestar/types"; import { LightClientUpdateSummary } from "./isBetterUpdate.js"; export declare const MAX_SYNC_PERIODS_CACHE = 2; export interface ILightClientStore { readonly config: BeaconConfig; /** Map of trusted SyncCommittee to be used for sig validation */ readonly syncCommittees: Map; /** Map of best valid updates */ readonly bestValidUpdates: Map; getMaxActiveParticipants(period: SyncPeriod): number; setActiveParticipants(period: SyncPeriod, activeParticipants: number): void; finalizedHeader: LightClientHeader; optimisticHeader: LightClientHeader; } export interface LightClientStoreEvents { onSetFinalizedHeader?: (header: LightClientHeader) => void; onSetOptimisticHeader?: (header: LightClientHeader) => void; } export declare class LightClientStore implements ILightClientStore { readonly config: BeaconConfig; private readonly events; readonly syncCommittees: Map; readonly bestValidUpdates: Map; private _finalizedHeader; private _optimisticHeader; private readonly maxActiveParticipants; constructor(config: BeaconConfig, bootstrap: LightClientBootstrap, events: LightClientStoreEvents); get finalizedHeader(): LightClientHeader; set finalizedHeader(value: LightClientHeader); get optimisticHeader(): LightClientHeader; set optimisticHeader(value: LightClientHeader); getMaxActiveParticipants(period: SyncPeriod): number; setActiveParticipants(period: SyncPeriod, activeParticipants: number): void; } export type SyncCommitteeFast = { pubkeys: PublicKey[]; aggregatePubkey: PublicKey; }; export type LightClientUpdateWithSummary = { update: LightClientUpdate; summary: LightClientUpdateSummary; }; //# sourceMappingURL=store.d.ts.map