@tool
extends TwitchData

# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.

## 
## #/components/schemas/ExtensionConfigurationSegment
class_name TwitchExtensionConfigurationSegment
	
## The type of segment. Possible values are:   
##   
## * broadcaster
## * developer
## * global
@export var segment: String:
	set(val): 
		segment = val
		track_data(&"segment", val)

## The ID of the broadcaster that installed the extension. The object includes this field only if the `segment` query parameter is set to developer or broadcaster.
@export var broadcaster_id: String:
	set(val): 
		broadcaster_id = val
		track_data(&"broadcaster_id", val)

## The contents of the segment. This string may be a plain-text string or a string-encoded JSON object.
@export var content: String:
	set(val): 
		content = val
		track_data(&"content", val)

## The version number that identifies this definition of the segment’s data.
@export var version: String:
	set(val): 
		version = val
		track_data(&"version", val)
var response: BufferedHTTPClient.ResponseData


## Constructor with all required fields.
static func create(_segment: String, _content: String, _version: String) -> TwitchExtensionConfigurationSegment:
	var twitch_extension_configuration_segment: TwitchExtensionConfigurationSegment = TwitchExtensionConfigurationSegment.new()
	twitch_extension_configuration_segment.segment = _segment
	twitch_extension_configuration_segment.content = _content
	twitch_extension_configuration_segment.version = _version
	return twitch_extension_configuration_segment


static func from_json(d: Dictionary) -> TwitchExtensionConfigurationSegment:
	var result: TwitchExtensionConfigurationSegment = TwitchExtensionConfigurationSegment.new()
	if d.get("segment", null) != null:
		result.segment = d["segment"]
	if d.get("broadcaster_id", null) != null:
		result.broadcaster_id = d["broadcaster_id"]
	if d.get("content", null) != null:
		result.content = d["content"]
	if d.get("version", null) != null:
		result.version = d["version"]
	return result
