import { Endpoints } from "@lodestar/api";
import { BeaconApiMethods } from "@lodestar/api/beacon/server";
import { ChainForkConfig } from "@lodestar/config";
import { Logger } from "@lodestar/utils";
import { RestApiServer, RestApiServerMetrics, RestApiServerModules, RestApiServerOpts } from "./base.js";
export { allNamespaces } from "@lodestar/api";
export type BeaconRestApiServerOpts = Omit<RestApiServerOpts, "bearerToken"> & {
    enabled: boolean;
    api: (keyof Endpoints)[];
};
export declare const beaconRestApiServerOpts: BeaconRestApiServerOpts;
export type BeaconRestApiServerModules = RestApiServerModules & {
    config: ChainForkConfig;
    logger: Logger;
    api: BeaconApiMethods;
    metrics: RestApiServerMetrics | null;
};
/**
 * REST API powered by `fastify` server.
 */
export declare class BeaconRestApiServer extends RestApiServer {
    readonly opts: BeaconRestApiServerOpts;
    readonly modules: BeaconRestApiServerModules;
    constructor(optsArg: Partial<BeaconRestApiServerOpts>, modules: BeaconRestApiServerModules);
    registerRoutes(version?: string): Promise<void>;
    protected shouldIgnoreError(err: Error): boolean;
}
//# sourceMappingURL=index.d.ts.map