import { BeaconChain } from "../chain.js";
import { IBlockInput, IDataColumnsInput } from "./blockInput/index.js";
/**
 * Persists block input data to DB. This operation must be eventually completed if a block is imported to the fork-choice.
 * Else the node will be in an inconsistent state that can lead to being stuck.
 *
 * This operation may be performed before, during or after importing to the fork-choice. As long as errors
 * are handled properly for eventual consistency.
 *
 * Block+blobs (pre-fulu) and data columns (fulu+) are written in parallel.
 */
export declare function writeBlockInputToDb(this: BeaconChain, blockInput: IBlockInput): Promise<void>;
/**
 * Persists data columns to DB for a given block. Accepts a narrow sub-interface of IBlockInput
 * so it can be reused across forks (e.g. Fulu, Gloas).
 *
 * NOTE: Old data is pruned on archive.
 */
export declare function writeDataColumnsToDb(this: BeaconChain, blockInput: IDataColumnsInput): Promise<void>;
export declare function persistBlockInput(this: BeaconChain, blockInput: IBlockInput): Promise<void>;
//# sourceMappingURL=writeBlockInputToDb.d.ts.map