import type { Logger } from '@nestjs/common';
import type { BlockchainProviderService } from '../../../blockchain-provider/blockchain-provider.service';
import type { BlocksLoadingStrategy } from './load-strategy.interface';
import { StrategyNames } from './load-strategy.interface';
import type { BlocksQueue } from '../../blocks-queue';
export declare class SubscribeWsProviderStrategy implements BlocksLoadingStrategy {
    private readonly log;
    private readonly blockchainProvider;
    private readonly queue;
    readonly name = StrategyNames.WS_SUBSCRIBE;
    private _subscription?;
    private readonly tracesEnabled;
    private readonly verifyTrie;
    private readonly catchUpBatchSize;
    constructor(log: Logger, blockchainProvider: BlockchainProviderService, queue: BlocksQueue, config: {
        maxRequestBlocksBatchSize?: number;
        basePreloadCount?: number;
        tracesEnabled?: boolean;
        verifyTrie?: boolean;
        catchUpBatchSize?: number;
    });
    load(currentNetworkHeight: number): Promise<void>;
    stop(): Promise<void>;
    private cleanup;
    private performCatchUp;
    private attachTracesIfNeeded;
    private getRequiredBlockSize;
    private enqueueBlock;
}
