class_docstr: Interface definition for core environments forming the basis for actual RL trainable environments.
      
class_docstr_tok: ["Interface","definition","for","core","environments","forming","the","basis","for","actual","RL","trainable","environments","."]
docstr: Returns the maximum count of agents per sub-step that the environment features.
  
  For example:
    - For a vehicle-routing environment where 5 driver agents will get to act during sub-step 0,
      this method should return {0: 5}
    - For a two-step cutting environment where a piece is selected during sub-step 0 and then cut during
      sub-step 1 (with just one selection and cut happening in each step),
      this method should return {0: 1, 1: 1}
docstr_tok: ["Returns","the","maximum","count","of","agents","per","sub-step","that","the","environment","features",".","For","example",":","-","For","a","vehicle-routing","environment","where","5","driver","agents","will","get","to","act","during","sub-step","0",",","this","method","should","return","{","0",":","5","}","-","For","a","two-step","cutting","environment","where","a","piece","is","selected","during","sub-step","0","and","then","cut","during","sub-step","1","(","with","just","one","selection","and","cut","happening","in","each","step",")",",","this","method","should","return","{","0",":","1",",","1",":","1","}"]
code: def agent_counts_dict(self) -> Dict[StepKeyType, int]:
      """Returns the maximum count of agents per sub-step that the environment features.
  
      For example:
        - For a vehicle-routing environment where 5 driver agents will get to act during sub-step 0,
          this method should return {0: 5}
        - For a two-step cutting environment where a piece is selected during sub-step 0 and then cut during
          sub-step 1 (with just one selection and cut happening in each step),
          this method should return {0: 1, 1: 1}
      """
  
imports: from abc import ABC, abstractmethod
  from typing import Tuple, Any, Dict, Union, Iterable, Optional
  import numpy
  from maze.core.annotations import override
  from maze.core.env.environment_context import EnvironmentContext
  from maze.core.env.event_env_mixin import EventEnvMixin
  from maze.core.env.maze_action import MazeActionType
  from maze.core.env.maze_state import MazeStateType
  from maze.core.env.reward import RewardAggregatorInterface
  from maze.core.env.serializable_env_mixin import SerializableEnvMixin
  from maze.core.env.structured_env import StructuredEnv, StepKeyType, ActorID
  from maze.core.env.time_env_mixin import TimeEnvMixin
  from maze.core.events.event_record import EventRecord
  from maze.core.log_events.kpi_calculator import KpiCalculator
  from maze.core.rendering.renderer import Renderer
label_desc: Use image node_id 14 for calling the CoreEnv obj's underlying member method code with example usage: obj.agent_counts_dict() without return types