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, DataColumnSidecarArchiveRepository, DataColumnSidecarRepository, ExecutionPayloadEnvelopeArchiveRepository, ExecutionPayloadEnvelopeRepository, ProposerSlashingRepository, StateArchiveRepository, SyncCommitteeRepository, SyncCommitteeWitnessRepository, VoluntaryExitRepository } from "./repositories/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;
    dataColumnSidecar: DataColumnSidecarRepository;
    dataColumnSidecarArchive: DataColumnSidecarArchiveRepository;
    executionPayloadEnvelope: ExecutionPayloadEnvelopeRepository;
    executionPayloadEnvelopeArchive: ExecutionPayloadEnvelopeArchiveRepository;
    stateArchive: StateArchiveRepository;
    checkpointState: CheckpointStateRepository;
    voluntaryExit: VoluntaryExitRepository;
    proposerSlashing: ProposerSlashingRepository;
    attesterSlashing: AttesterSlashingRepository;
    blsToExecutionChange: BLSToExecutionChangeRepository;
    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>;
    deleteDeprecatedEth1Data(): Promise<void>;
    private deleteBucketData;
}
//# sourceMappingURL=beacon.d.ts.map