import { BuilderIndex, RootHex, Slot } from "@lodestar/types";
import { GossipActionError } from "./gossipValidation.js";
export declare enum ExecutionPayloadEnvelopeErrorCode {
    BELONG_TO_FINALIZED_BLOCK = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_BELONG_TO_FINALIZED_BLOCK",
    BLOCK_ROOT_UNKNOWN = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_BLOCK_ROOT_UNKNOWN",
    PARENT_UNKNOWN = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_PARENT_UNKNOWN",
    UNKNOWN_BLOCK_STATE = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_UNKNOWN_BLOCK_STATE",
    ENVELOPE_ALREADY_KNOWN = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_ALREADY_KNOWN",
    INVALID_BLOCK = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_INVALID_BLOCK",
    SLOT_MISMATCH = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_SLOT_MISMATCH",
    BUILDER_INDEX_MISMATCH = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_BUILDER_INDEX_MISMATCH",
    BLOCK_HASH_MISMATCH = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_BLOCK_HASH_MISMATCH",
    EXECUTION_REQUESTS_ROOT_MISMATCH = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_EXECUTION_REQUESTS_ROOT_MISMATCH",
    INVALID_SIGNATURE = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_INVALID_SIGNATURE",
    PAYLOAD_ENVELOPE_INPUT_MISSING = "EXECUTION_PAYLOAD_ENVELOPE_ERROR_PAYLOAD_ENVELOPE_INPUT_MISSING"
}
export type ExecutionPayloadEnvelopeErrorType = {
    code: ExecutionPayloadEnvelopeErrorCode.BELONG_TO_FINALIZED_BLOCK;
    envelopeSlot: Slot;
    finalizedSlot: Slot;
} | {
    code: ExecutionPayloadEnvelopeErrorCode.BLOCK_ROOT_UNKNOWN;
    blockRoot: RootHex;
} | {
    code: ExecutionPayloadEnvelopeErrorCode.PARENT_UNKNOWN;
    parentRoot: RootHex;
    slot: Slot;
} | {
    code: ExecutionPayloadEnvelopeErrorCode.UNKNOWN_BLOCK_STATE;
    blockRoot: RootHex;
    slot: Slot;
} | {
    code: ExecutionPayloadEnvelopeErrorCode.ENVELOPE_ALREADY_KNOWN;
    blockRoot: RootHex;
    slot: Slot;
} | {
    code: ExecutionPayloadEnvelopeErrorCode.INVALID_BLOCK;
    blockRoot: RootHex;
} | {
    code: ExecutionPayloadEnvelopeErrorCode.SLOT_MISMATCH;
    envelopeSlot: Slot;
    blockSlot: Slot;
} | {
    code: ExecutionPayloadEnvelopeErrorCode.BUILDER_INDEX_MISMATCH;
    envelopeBuilderIndex: BuilderIndex;
    bidBuilderIndex: BuilderIndex | null;
} | {
    code: ExecutionPayloadEnvelopeErrorCode.BLOCK_HASH_MISMATCH;
    envelopeBlockHash: RootHex;
    bidBlockHash: RootHex | null;
} | {
    code: ExecutionPayloadEnvelopeErrorCode.EXECUTION_REQUESTS_ROOT_MISMATCH;
    envelopeRequestsRoot: RootHex;
    bidRequestsRoot: RootHex;
} | {
    code: ExecutionPayloadEnvelopeErrorCode.INVALID_SIGNATURE;
} | {
    code: ExecutionPayloadEnvelopeErrorCode.PAYLOAD_ENVELOPE_INPUT_MISSING;
    blockRoot: RootHex;
};
export declare class ExecutionPayloadEnvelopeError extends GossipActionError<ExecutionPayloadEnvelopeErrorType> {
}
//# sourceMappingURL=executionPayloadEnvelope.d.ts.map