@tool
extends TwitchData

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

class_name TwitchGetExtensionBitsProducts
	


## 
## #/components/schemas/GetExtensionBitsProductsResponse
class Response extends TwitchData:

	## A list of Bits products that the extension created. The list is in ascending SKU order. The list is empty if the extension hasn’t created any products or they’re all expired or disabled.
	@export var data: Array[TwitchExtensionBitsProduct]:
		set(val): 
			data = val
			track_data(&"data", val)
	var response: BufferedHTTPClient.ResponseData
	
	
	## Constructor with all required fields.
	static func create(_data: Array[TwitchExtensionBitsProduct]) -> Response:
		var response: Response = Response.new()
		response.data = _data
		return response
	
	
	static func from_json(d: Dictionary) -> Response:
		var result: Response = Response.new()
		if d.get("data", null) != null:
			for value in d["data"]:
				result.data.append(TwitchExtensionBitsProduct.from_json(value))
		return result
	


## All optional parameters for TwitchAPI.get_extension_bits_products
## #/components/schemas/GetExtensionBitsProductsOpt
class Opt extends TwitchData:

	## A Boolean value that determines whether to include disabled or expired Bits products in the response. The default is **false**.
	@export var should_include_all: bool:
		set(val): 
			should_include_all = val
			track_data(&"should_include_all", val)
	
	
	
	## Constructor with all required fields.
	static func create() -> Opt:
		var opt: Opt = Opt.new()
		return opt
	
	
	static func from_json(d: Dictionary) -> Opt:
		var result: Opt = Opt.new()
		if d.get("should_include_all", null) != null:
			result.should_include_all = d["should_include_all"]
		return result
	