import { ChainForkConfig } from "@lodestar/config";
import { LightClientOptimisticUpdate } from "@lodestar/types";
import { IClock } from "../../util/clock.js";
import { IBeaconChain } from "../interface.js";
export declare function validateLightClientOptimisticUpdate(config: ChainForkConfig, chain: IBeaconChain, gossipedOptimisticUpdate: LightClientOptimisticUpdate): void;
/**
 * Returns true, if the spec condition below triggers an IGNORE.
 *
 *      Sig + SYNC_MESSAGE_DUE_BPS time
 * -----|-----
 * xxx|-------  (x is not okay)
 *
 * [IGNORE] The *update is received after the block at signature_slot was given enough time to propagate
 * through the network -- i.e. validate that `get_sync_message_due_ms(epoch)`
 * milliseconds (with a `MAXIMUM_GOSSIP_CLOCK_DISPARITY` allowance) has
 * transpired since the start of `signature_slot`.
 */
export declare function updateReceivedTooEarly(config: ChainForkConfig, clock: IClock, update: Pick<LightClientOptimisticUpdate, "signatureSlot">): boolean;
//# sourceMappingURL=lightClientOptimisticUpdate.d.ts.map