import { DynamicModule, Type } from '@nestjs/common';
import type { BlocksCommandExecutor, MempoolCommandExecutor } from './interfaces';
export interface BlocksQueueModuleOptions {
    blocksCommandExecutor: Type<BlocksCommandExecutor>;
    mempoolCommandExecutor: Type<MempoolCommandExecutor>;
    basePreloadCount: number;
    maxBlockHeight: number;
    maxQueueSize: number;
    queueLoaderStrategyName: string;
    mempoolLoaderStrategyName?: 'subscribe-ws' | 'txpool-content';
    queueLoaderRequestBlocksBatchSize: number;
    queueIteratorBlocksBatchSize: number;
    blockSize: number;
    blockTimeMs: number;
    maxBlockWeight?: number;
    tracesEnabled?: boolean;
    verifyTrie?: boolean;
}
export declare class BlocksQueueModule {
    static forRootAsync(config: BlocksQueueModuleOptions): Promise<DynamicModule>;
}
