import { ChainForkConfig } from "@lodestar/config";
import { BLSPubkey, ExecutionPayload, ExecutionPayloadAndBlobsBundle, Root, SignedBlindedBeaconBlock, SignedBuilderBid, Slot, WithOptionalBytes, bellatrix } from "@lodestar/types";
import { EmptyArgs, EmptyMeta, EmptyRequest, EmptyResponseData } from "../utils/codecs.js";
import { Endpoint, RouteDefinitions } from "../utils/index.js";
import { MetaHeader, VersionMeta } from "../utils/metadata.js";
export type MaybeSignedBuilderBid = SignedBuilderBid | undefined;
export type Endpoints = {
    status: Endpoint<"GET", EmptyArgs, EmptyRequest, EmptyResponseData, EmptyMeta>;
    registerValidator: Endpoint<"POST", {
        registrations: bellatrix.SignedValidatorRegistrationV1[];
    }, {
        body: unknown;
    }, EmptyResponseData, EmptyMeta>;
    getHeader: Endpoint<"GET", {
        slot: Slot;
        parentHash: Root;
        proposerPubkey: BLSPubkey;
    }, {
        params: {
            slot: Slot;
            parent_hash: string;
            pubkey: string;
        };
    }, MaybeSignedBuilderBid, VersionMeta>;
    submitBlindedBlock: Endpoint<"POST", {
        signedBlindedBlock: WithOptionalBytes<SignedBlindedBeaconBlock>;
    }, {
        body: unknown;
        headers: {
            [MetaHeader.Version]: string;
        };
    }, ExecutionPayload | ExecutionPayloadAndBlobsBundle, VersionMeta>;
};
export declare function getDefinitions(config: ChainForkConfig): RouteDefinitions<Endpoints>;
//# sourceMappingURL=routes.d.ts.map