import { ChainForkConfig } from "@lodestar/config";
import { Db, LevelDbControllerMetrics } from "@lodestar/db";
import { IBeaconDb } from "./interface.js";
import { CheckpointStateRepository } from "./repositories/checkpointState.js";
import { AttesterSlashingRepository, BLSToExecutionChangeRepository, BackfilledRanges, BestLightClientUpdateRepository, BlobSidecarsArchiveRepository, BlobSidecarsRepository, BlockArchiveRepository, BlockRepository, CheckpointHeaderRepository, DepositDataRootRepository, DepositEventRepository, Eth1DataRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/index.js";
import { PreGenesisState, PreGenesisStateLastProcessedBlock } from "./single/index.js";
export type BeaconDbModules = {
    config: ChainForkConfig;
    db: Db;
};
export declare class BeaconDb implements IBeaconDb {
    protected readonly db: Db;
    block: BlockRepository;
    blockArchive: BlockArchiveRepository;
    blobSidecars: BlobSidecarsRepository;
    blobSidecarsArchive: BlobSidecarsArchiveRepository;
    stateArchive: StateArchiveRepository;
    checkpointState: CheckpointStateRepository;
    voluntaryExit: VoluntaryExitRepository;
    proposerSlashing: ProposerSlashingRepository;
    attesterSlashing: AttesterSlashingRepository;
    depositEvent: DepositEventRepository;
    blsToExecutionChange: BLSToExecutionChangeRepository;
    depositDataRoot: DepositDataRootRepository;
    eth1Data: Eth1DataRepository;
    preGenesisState: PreGenesisState;
    preGenesisStateLastProcessedBlock: PreGenesisStateLastProcessedBlock;
    bestLightClientUpdate: BestLightClientUpdateRepository;
    checkpointHeader: CheckpointHeaderRepository;
    syncCommittee: SyncCommitteeRepository;
    syncCommitteeWitness: SyncCommitteeWitnessRepository;
    backfilledRanges: BackfilledRanges;
    constructor(config: ChainForkConfig, db: Db);
    close(): Promise<void>;
    setMetrics(metrics: LevelDbControllerMetrics): void;
    pruneHotDb(): Promise<void>;
}
//# sourceMappingURL=beacon.d.ts.map