import { Chain, Block } from '@liskhq/lisk-chain'; import { BaseSynchronizer } from './base_synchronizer'; import { Logger } from '../../../logger'; import { BlockExecutor } from './type'; interface SynchronizerInput { readonly logger: Logger; readonly chainModule: Chain; readonly blockExecutor: BlockExecutor; readonly mechanisms: BaseSynchronizer[]; } export declare class Synchronizer { protected logger: Logger; private readonly chainModule; private readonly _mutex; private readonly blockExecutor; private readonly mechanisms; constructor({ logger, chainModule, blockExecutor, mechanisms }: SynchronizerInput); init(): Promise; run(receivedBlock: Block, peerId: string): Promise; get isActive(): boolean; stop(): Promise; private _determineSyncMechanism; private _checkMechanismsInterfaces; } export {};