original_string: private static function tool_type_return_structure() {
          return new external_single_structure(
              array(
                  'id' => new external_value(PARAM_INT, 'Tool type id'),
                  'name' => new external_value(PARAM_NOTAGS, 'Tool type name'),
                  'description' => new external_value(PARAM_NOTAGS, 'Tool type description'),
                  'urls' => new external_single_structure(
                      array(
                          'icon' => new external_value(PARAM_URL, 'Tool type icon URL'),
                          'edit' => new external_value(PARAM_URL, 'Tool type edit URL'),
                          'course' => new external_value(PARAM_URL, 'Tool type edit URL', VALUE_OPTIONAL),
                      )
                  ),
                  'state' => new external_single_structure(
                      array(
                          'text' => new external_value(PARAM_TEXT, 'Tool type state name string'),
                          'pending' => new external_value(PARAM_BOOL, 'Is the state pending'),
                          'configured' => new external_value(PARAM_BOOL, 'Is the state configured'),
                          'rejected' => new external_value(PARAM_BOOL, 'Is the state rejected'),
                          'unknown' => new external_value(PARAM_BOOL, 'Is the state unknown'),
                      )
                  ),
                  'hascapabilitygroups' => new external_value(PARAM_BOOL, 'Indicate if capabilitygroups is populated'),
                  'capabilitygroups' => new external_multiple_structure(
                      new external_value(PARAM_TEXT, 'Tool type capability groups enabled'),
                      'Array of capability groups', VALUE_DEFAULT, array()
                  ),
                  'courseid' => new external_value(PARAM_INT, 'Tool type course', VALUE_DEFAULT, 0),
                  'instanceids' => new external_multiple_structure(
                      new external_value(PARAM_INT, 'LTI instance ID'),
                      'IDs for the LTI instances using this type', VALUE_DEFAULT, array()
                  ),
                  'instancecount' => new external_value(PARAM_INT, 'The number of times this tool is being used')
              ), 'Tool'
          );
      }
code: private static function tool_type_return_structure() {
          return new external_single_structure(
              array(
                  'id' => new external_value(PARAM_INT, 'Tool type id'),
                  'name' => new external_value(PARAM_NOTAGS, 'Tool type name'),
                  'description' => new external_value(PARAM_NOTAGS, 'Tool type description'),
                  'urls' => new external_single_structure(
                      array(
                          'icon' => new external_value(PARAM_URL, 'Tool type icon URL'),
                          'edit' => new external_value(PARAM_URL, 'Tool type edit URL'),
                          'course' => new external_value(PARAM_URL, 'Tool type edit URL', VALUE_OPTIONAL),
                      )
                  ),
                  'state' => new external_single_structure(
                      array(
                          'text' => new external_value(PARAM_TEXT, 'Tool type state name string'),
                          'pending' => new external_value(PARAM_BOOL, 'Is the state pending'),
                          'configured' => new external_value(PARAM_BOOL, 'Is the state configured'),
                          'rejected' => new external_value(PARAM_BOOL, 'Is the state rejected'),
                          'unknown' => new external_value(PARAM_BOOL, 'Is the state unknown'),
                      )
                  ),
                  'hascapabilitygroups' => new external_value(PARAM_BOOL, 'Indicate if capabilitygroups is populated'),
                  'capabilitygroups' => new external_multiple_structure(
                      new external_value(PARAM_TEXT, 'Tool type capability groups enabled'),
                      'Array of capability groups', VALUE_DEFAULT, array()
                  ),
                  'courseid' => new external_value(PARAM_INT, 'Tool type course', VALUE_DEFAULT, 0),
                  'instanceids' => new external_multiple_structure(
                      new external_value(PARAM_INT, 'LTI instance ID'),
                      'IDs for the LTI instances using this type', VALUE_DEFAULT, array()
                  ),
                  'instancecount' => new external_value(PARAM_INT, 'The number of times this tool is being used')
              ), 'Tool'
          );
      }
code_tokens: private static function tool_type_return_structure ( ) { return new external_single_structure ( array ( 'id' => new external_value ( PARAM_INT , 'Tool type id' ) , 'name' => new external_value ( PARAM_NOTAGS , 'Tool type name' ) , 'description' => new external_value ( PARAM_NOTAGS , 'Tool type description' ) , 'urls' => new external_single_structure ( array ( 'icon' => new external_value ( PARAM_URL , 'Tool type icon URL' ) , 'edit' => new external_value ( PARAM_URL , 'Tool type edit URL' ) , 'course' => new external_value ( PARAM_URL , 'Tool type edit URL' , VALUE_OPTIONAL ) , ) ) , 'state' => new external_single_structure ( array ( 'text' => new external_value ( PARAM_TEXT , 'Tool type state name string' ) , 'pending' => new external_value ( PARAM_BOOL , 'Is the state pending' ) , 'configured' => new external_value ( PARAM_BOOL , 'Is the state configured' ) , 'rejected' => new external_value ( PARAM_BOOL , 'Is the state rejected' ) , 'unknown' => new external_value ( PARAM_BOOL , 'Is the state unknown' ) , ) ) , 'hascapabilitygroups' => new external_value ( PARAM_BOOL , 'Indicate if capabilitygroups is populated' ) , 'capabilitygroups' => new external_multiple_structure ( new external_value ( PARAM_TEXT , 'Tool type capability groups enabled' ) , 'Array of capability groups' , VALUE_DEFAULT , array ( ) ) , 'courseid' => new external_value ( PARAM_INT , 'Tool type course' , VALUE_DEFAULT , 0 ) , 'instanceids' => new external_multiple_structure ( new external_value ( PARAM_INT , 'LTI instance ID' ) , 'IDs for the LTI instances using this type' , VALUE_DEFAULT , array ( ) ) , 'instancecount' => new external_value ( PARAM_INT , 'The number of times this tool is being used' ) ) , 'Tool' ) ; }
docstring: Returns structure be used for returning a tool type from a web service.
  
  @return external_function_parameters
  @since Moodle 3.1
docstring_tokens: Returns structure be used for returning a tool type from a web service .