import { Block, Chain } from '@liskhq/lisk-chain'; import { BaseSynchronizer } from './base_synchronizer'; import { BlockExecutor } from './type'; import { Logger } from '../../../logger'; import { Network } from '../../network'; interface BlockSynchronizationMechanismInput { readonly logger: Logger; readonly chain: Chain; readonly blockExecutor: BlockExecutor; readonly network: Network; } export declare class BlockSynchronizationMechanism extends BaseSynchronizer { private readonly blockExecutor; constructor({ logger, chain, blockExecutor, network: networkModule, }: BlockSynchronizationMechanismInput); run(receivedBlock: Block): Promise; isValidFor(): Promise; private _requestAndApplyBlocksWithinIDs; private _handleBlockProcessingError; private _requestAndApplyBlocksToCurrentChain; private _revertToLastCommonBlock; private _requestLastCommonBlock; private _requestAndValidateLastBlock; private _blockDetachedStatus; private _computeBestPeer; } export {};