import { ChainForkConfig } from "@lodestar/config";
import { Logger } from "@lodestar/utils";
import { IExecutionEngine } from "../execution/index.js";
import { Metrics } from "../metrics/metrics.js";
import { IBlockInput } from "./blocks/blockInput/index.js";
import { PayloadEnvelopeInput } from "./blocks/payloadEnvelopeInput/index.js";
import { ChainEventEmitter } from "./emitter.js";
export type GetBlobsTrackerInit = {
    logger: Logger;
    executionEngine: IExecutionEngine;
    emitter: ChainEventEmitter;
    metrics: Metrics | null;
    config: ChainForkConfig;
};
/**
 * Tracks getBlobsV2 calls to the execution engine to avoid duplicate and multiple in-flight calls
 */
export declare class GetBlobsTracker {
    logger: Logger;
    executionEngine: IExecutionEngine;
    emitter: ChainEventEmitter;
    metrics: Metrics | null;
    config: ChainForkConfig;
    activeReconstructions: Set<string>;
    blobsAndProofsBuffers: {
        buffers: Uint8Array[];
        inUse: boolean;
    }[];
    constructor(init: GetBlobsTrackerInit);
    triggerGetBlobs(input: IBlockInput | PayloadEnvelopeInput): void;
}
//# sourceMappingURL=GetBlobsTracker.d.ts.map