import { ChainForkConfig } from "@lodestar/config";
import { BeaconStateAllForks, IBeaconStateView } from "@lodestar/state-transition";
import { SignedBeaconBlock } from "@lodestar/types";
import { Logger } from "@lodestar/utils";
import { IBeaconDb } from "../db/index.js";
import { Metrics } from "../metrics/index.js";
export declare function persistAnchorState(config: ChainForkConfig, db: IBeaconDb, anchorState: BeaconStateAllForks, anchorStateBytes: Uint8Array): Promise<void>;
export declare function createGenesisBlock(config: ChainForkConfig, genesisState: BeaconStateAllForks): SignedBeaconBlock;
/**
 * Restore the latest beacon state from db
 */
export declare function initStateFromDb(config: ChainForkConfig, db: IBeaconDb, logger: Logger): Promise<BeaconStateAllForks>;
/**
 * Initialize and persist an anchor state (either weak subjectivity or genesis)
 */
export declare function checkAndPersistAnchorState(config: ChainForkConfig, db: IBeaconDb, logger: Logger, anchorState: BeaconStateAllForks, anchorStateBytes: Uint8Array, { isWithinWeakSubjectivityPeriod, isCheckpointState }: {
    isWithinWeakSubjectivityPeriod: boolean;
    isCheckpointState: boolean;
}): Promise<void>;
export declare function initBeaconMetrics(metrics: Metrics, state: IBeaconStateView): void;
//# sourceMappingURL=initState.d.ts.map