import { OnModuleInit } from '@nestjs/common';
import type { Block } from '../blockchain-provider/components/block.interfaces';
import { BlocksQueue } from './blocks-queue';
import { BlockchainProviderService } from '../blockchain-provider';
import type { BlocksQueueIteratorService } from './blocks-iterator/blocks-iterator.service';
import type { BlocksQueueLoaderService } from './blocks-loader/blocks-loader.service';
import type { MempoolLoaderService } from './mempool-loader.service';
export declare class BlocksQueueService implements OnModuleInit {
    private readonly blocksQueueIterator;
    private readonly blocksQueueLoader;
    private readonly mempoolService;
    private readonly blockchainProvider;
    private readonly config;
    private readonly logger;
    private readonly moduleName;
    private _queue;
    constructor(blocksQueueIterator: BlocksQueueIteratorService, blocksQueueLoader: BlocksQueueLoaderService, mempoolService: MempoolLoaderService, blockchainProvider: BlockchainProviderService, config: any);
    onModuleInit(): void;
    get queue(): BlocksQueue;
    start(indexedHeight: string | number): Promise<void>;
    private initQueue;
    reorganizeBlocks(newStartHeight: string | number): Promise<void>;
    confirmProcessedBatch(blockHashes: string[]): Promise<void>;
    getBlocksByHashes(hashes: string[]): Promise<Block[]>;
}
