// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.

///|
#external
pub type Video

///|
#module("@mizchi/three-mbt/textures")
pub extern "js" fn Video::Video(url : String) -> Video = "video"

///|
pub extern "js" fn Video::muted(self : Video) -> Bool =
  #| (self) => self.muted

///|
pub extern "js" fn Video::set_muted(self : Video, value : Bool) -> Unit =
  #| (self, value) => { self.muted = value; }

///|
pub extern "js" fn Video::looping(self : Video) -> Bool =
  #| (self) => self.loop

///|
pub extern "js" fn Video::set_looping(self : Video, value : Bool) -> Unit =
  #| (self, value) => { self.loop = value; }

///|
pub extern "js" fn Video::volume(self : Video) -> Double =
  #| (self) => self.volume

///|
pub extern "js" fn Video::set_volume(self : Video, value : Double) -> Unit =
  #| (self, value) => { self.volume = value; }

///|
pub extern "js" fn Video::paused(self : Video) -> Bool =
  #| (self) => self.paused

///|
pub extern "js" fn Video::current_time(self : Video) -> Double =
  #| (self) => self.currentTime

///|
pub extern "js" fn Video::duration(self : Video) -> Double =
  #| (self) => self.duration

///|
pub extern "js" fn Video::width(self : Video) -> Int =
  #| (self) => self.videoWidth

///|
pub extern "js" fn Video::height(self : Video) -> Int =
  #| (self) => self.videoHeight

///|
pub extern "js" fn Video::pause(self : Video) -> Unit =
  #| (self) => self.pause()