type chain = [
  1. | `Main
  2. | `Test
  3. | `Hash of Tezos_crypto.Chain_id.t
]
type chain_prefix = unit * chain
val chain_path : (unit, chain_prefix) Tezos_rpc.RPC_path.t
val parse_chain : string -> (chain, string) result
val chain_to_string : chain -> string
val chain_arg : chain Tezos_rpc.RPC_arg.t
type block = [
  1. | `Genesis
  2. | `Head of int
  3. | `Alias of [ `Caboose | `Checkpoint | `Save_point ] * int
  4. | `Hash of Tezos_crypto.Block_hash.t * int
  5. | `Level of Int32.t
]
val parse_block : string -> (block, string) result
val to_string : block -> string
type prefix = (unit * chain) * block
val mempool_path : ('a, 'b) Tezos_rpc.RPC_path.t -> ('a, 'b) Tezos_rpc.RPC_path.t
val live_blocks_path : ('a, 'b) Tezos_rpc.RPC_path.t -> ('a, 'b) Tezos_rpc.RPC_path.t
type operation_list_quota = {
  1. max_size : int;
  2. max_op : int option;
}
type raw_context =
  1. | Key of Bytes.t
  2. | Dir of (string * raw_context) list
  3. | Cut
val pp_raw_context : Format.formatter -> raw_context -> unit
type Tezos_base__TzPervasives.error +=
  1. | Invalid_depth_arg of int
module type PROTO = sig ... end
type protocols = {
  1. current_protocol : Tezos_crypto.Protocol_hash.t;
  2. next_protocol : Tezos_crypto.Protocol_hash.t;
}
module Make (Proto : PROTO) (Next_proto : PROTO) : sig ... end
module Empty : sig ... end