import { ChainForkConfig } from "@lodestar/config";
import { ForkName } from "@lodestar/params";
import { BeaconBlockBody, DataColumnSidecars, SignedBeaconBlock, deneb, fulu } from "@lodestar/types";
type VersionHash = Uint8Array;
export declare function kzgCommitmentToVersionedHash(kzgCommitment: deneb.KZGCommitment): VersionHash;
export declare function computePreFuluKzgCommitmentsInclusionProof(fork: ForkName, body: BeaconBlockBody, index: number): deneb.KzgCommitmentInclusionProof;
/**
 * SPEC FUNCTION get_blob_sidecars
 * https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/deneb/validator.md#sidecar
 */
export declare function getBlobSidecars(config: ChainForkConfig, signedBlock: SignedBeaconBlock, blobs: deneb.Blobs, proofs: deneb.KZGProofs): deneb.BlobSidecars;
/**
 * If the node obtains 50%+ of all the columns, it SHOULD reconstruct the full data matrix via the recover_matrix helper
 * See https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.4/specs/fulu/das-core.md#recover_matrix
 */
export declare function dataColumnMatrixRecovery(partialSidecars: Map<number, fulu.DataColumnSidecar>): Promise<fulu.DataColumnSidecars | null>;
/**
 * Reconstruct blobs from a set of data columns, at least 50%+ of all the columns
 * must be provided to allow to reconstruct the full data matrix
 */
export declare function reconstructBlobs(sidecars: DataColumnSidecars, indices?: number[]): Promise<deneb.Blobs>;
export {};
//# sourceMappingURL=blobs.d.ts.map