import { Slot, gloas } from "@lodestar/types";
import { InsertOutcome } from "./types.js";
type BlockRootHex = string;
type BlockHashHex = string;
/**
 * Store the best execution payload bid per slot / (parent block root, parent block hash).
 */
export declare class ExecutionPayloadBidPool {
    private readonly bidByParentHashByParentRootBySlot;
    private lowestPermissibleSlot;
    get size(): number;
    add(bid: gloas.ExecutionPayloadBid): InsertOutcome;
    /**
     * Return the highest-value bid matching slot, parent block hash, and parent block root.
     * Used for gossip validation and block production.
     */
    getBestBid(slot: Slot, parentBlockHash: BlockHashHex, parentBlockRoot: BlockRootHex): gloas.ExecutionPayloadBid | null;
    prune(clockSlot: Slot): void;
}
export {};
//# sourceMappingURL=executionPayloadBidPool.d.ts.map