// ReadShareGroupStateSummaryRequest is a request to read share group state summary.
// Version 1, introduced in Kafka 4.2, adds DeliveryCompleteCount to the
// response (KIP-1226).
ReadShareGroupStateSummaryRequest => key 87, max version 1, flexible v0+, share coordinator
  // GroupID is the group identifier.
  GroupID: string
  // Topics are the data for the topics.
  Topics: [=>]
    // TopicID is the topic identifier.
    TopicID: uuid
    // Partitions are the data for the partitions.
    Partitions: [=>]
      // Partition is the partition index.
      Partition: int32
      // LeaderEpoch is the leader epoch of the share-partition.
      LeaderEpoch: int32

// ReadShareGroupStateSummaryResponse is a response for a ReadShareGroupStateSummaryRequest.
//
// Supported errors:
// - NOT_COORDINATOR (version 0+)
// - COORDINATOR_NOT_AVAILABLE (version 0+)
// - COORDINATOR_LOAD_IN_PROGRESS (version 0+)
// - GROUP_ID_NOT_FOUND (version 0+)
// - UNKNOWN_TOPIC_OR_PARTITION (version 0+)
// - FENCED_LEADER_EPOCH (version 0+)
// - INVALID_REQUEST (version 0+)
ReadShareGroupStateSummaryResponse =>
  // Topics are the read results.
  Topics: [=>]
    // TopicID is the topic identifier.
    TopicID: uuid
    // Partitions are the results for the partitions.
    Partitions: [=>]
      // Partition is the partition index.
      Partition: int32
      // ErrorCode is the error code, or 0 if there was no error.
      ErrorCode: int16
      // ErrorMessage is the error message, or null if there was no error.
      ErrorMessage: nullable-string
      // StateEpoch is the state epoch of the share-partition.
      StateEpoch: int32
      // LeaderEpoch is the leader epoch of the share-partition.
      LeaderEpoch: int32
      // StartOffset is the share-partition start offset.
      StartOffset: int64
      // DeliveryCompleteCount is the number of offsets >= share-partition start
      // offset for which delivery has been completed. -1 if not set.
      DeliveryCompleteCount: int32(-1) // v1+
