. namespace core_ai; /** * Class placement. * * @package core_ai * @copyright 2024 Matt Porritt * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ abstract class placement { /** * Get the actions that this placement supports. * * Returns an array of action class names. * * @return array An array of action class names. */ abstract public static function get_action_list(): array; /** * Given an action class name. * * Returns an array of sub actions that this placement supports. * * @param string $classname The action class name. * @return array An array of supported sub actions. */ public function get_sub_actions(string $classname): array { return []; } }