@tool
extends TwitchData

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

## 
## #/components/schemas/UserExtensionOverlay
class_name TwitchUserExtensionOverlay
	
## A Boolean value that determines the extension’s activation state. If **false**, the user has not configured an overlay extension.
@export var active: bool:
	set(val): 
		active = val
		track_data(&"active", val)

## An ID that identifies the extension.
@export var id: String:
	set(val): 
		id = val
		track_data(&"id", val)

## The extension’s version.
@export var version: String:
	set(val): 
		version = val
		track_data(&"version", val)

## The extension’s name.
@export var name: String:
	set(val): 
		name = val
		track_data(&"name", val)
var response: BufferedHTTPClient.ResponseData


## Constructor with all required fields.
static func create(_active: bool) -> TwitchUserExtensionOverlay:
	var twitch_user_extension_overlay: TwitchUserExtensionOverlay = TwitchUserExtensionOverlay.new()
	twitch_user_extension_overlay.active = _active
	return twitch_user_extension_overlay


static func from_json(d: Dictionary) -> TwitchUserExtensionOverlay:
	var result: TwitchUserExtensionOverlay = TwitchUserExtensionOverlay.new()
	if d.get("active", null) != null:
		result.active = d["active"]
	if d.get("id", null) != null:
		result.id = d["id"]
	if d.get("version", null) != null:
		result.version = d["version"]
	if d.get("name", null) != null:
		result.name = d["name"]
	return result
