import { ModuleThread } from "@chainsafe/threads";
import { BeaconConfig, SpecJson } from "@lodestar/config";
import { LoggerNode, LoggerNodeOpts } from "@lodestar/logger/node";
import { Metrics } from "../../../metrics/index.js";
export type HistoricalStateRegenInitModules = {
    opts: {
        genesisTime: number;
        dbLocation: string;
    };
    config: BeaconConfig;
    logger: LoggerNode;
    metrics: Metrics | null;
    signal?: AbortSignal;
};
export type HistoricalStateRegenModules = HistoricalStateRegenInitModules & {
    api: ModuleThread<HistoricalStateWorkerApi>;
};
export type HistoricalStateWorkerData = {
    chainConfigJson: SpecJson;
    genesisValidatorsRoot: Uint8Array;
    genesisTime: number;
    maxConcurrency: number;
    maxLength: number;
    dbLocation: string;
    metricsEnabled: boolean;
    loggerOpts: LoggerNodeOpts;
};
export type HistoricalStateWorkerApi = {
    close(): Promise<void>;
    scrapeMetrics(): Promise<string>;
    getHistoricalState(slot: number): Promise<Uint8Array>;
};
export declare enum RegenErrorType {
    loadState = "load_state",
    invalidStateRoot = "invalid_state_root",
    blockProcessing = "block_processing"
}
//# sourceMappingURL=types.d.ts.map