// OffsetDeleteRequest, proposed in KIP-496 and implemented in Kafka 2.4.0, is
// a request to delete group offsets.
//
// ACL wise, this requires DELETE on GROUP for the group and READ on TOPIC for
// each topic.
OffsetDeleteRequest => key 47, max version 0, group coordinator
  // Group is the group to delete offsets in.
  Group: string
  // Topics are topics to delete offsets in.
  Topics: [=>]
    // Topic is a topic to delete offsets in.
    Topic: string
    // Partitions are partitions to delete offsets for.
    Partitions: [=>]
      // Partition is a partition to delete offsets for.
      Partition: int32

// OffsetDeleteResponse is a response to an offset delete request.
OffsetDeleteResponse =>
  // ErrorCode is any group wide error.
  //
  // GROUP_AUTHORIZATION_FAILED is returned if the client is not authorized
  // for the group.
  //
  // INVALID_GROUP_ID is returned in the requested group ID is invalid.
  //
  // COORDINATOR_NOT_AVAILABLE is returned if the coordinator is not available.
  //
  // COORDINATOR_LOAD_IN_PROGRESS is returned if the group is loading.
  //
  // NOT_COORDINATOR is returned if the requested broker is not the coordinator
  // for the requested group.
  //
  // GROUP_ID_NOT_FOUND is returned if the group ID does not exist.
  ErrorCode: int16
  ThrottleMillis
  // Topics are responses to requested topics.
  Topics: [=>]
    // Topic is the topic being responded to.
    Topic: string
    // Partitions are partitions being responded to.
    Partitions: [=>]
      // Partition is the partition being responded to.
      Partition: int32
      // ErrorCode is any per partition error code.
      //
      // TOPIC_AUTHORIZATION_FAILED is returned if the client is not authorized
      // for the topic / partition.
      //
      // UNKNOWN_TOPIC_OR_PARTITION is returned if the broker does not know of
      // the requested topic.
      //
      // GROUP_SUBSCRIBED_TO_TOPIC is returned if the topic is still subscribed to.
      ErrorCode: int16
