// This file is auto-generated. Do not edit manually.
// Generated by scripts/generate_inheritance.ts

///|
/// Upcast from Node to Element
pub fn Element::cast_from_node(value : Node) -> Element = "%identity"

///|
/// Upcast from EventTarget to Element
pub fn Element::cast_from_event_target(value : @event.EventTarget) -> Element = "%identity"

///|
/// Inherited from Node
pub fn Element::nodeType(self : Self) -> Int {
  self.as_node().nodeType()
}

///|
/// Inherited from Node
pub fn Element::nodeName(self : Self) -> String {
  self.as_node().nodeName()
}

///|
/// Inherited from Node
pub fn Element::parentNode(self : Self) -> Node? {
  self.as_node().parentNode()
}

///|
/// Inherited from Node
pub fn Element::childNodes(self : Self) -> Array[Node] {
  self.as_node().childNodes()
}

///|
/// Inherited from Node
pub fn Element::firstChild(self : Self) -> Node? {
  self.as_node().firstChild()
}

///|
/// Inherited from Node
pub fn Element::lastChild(self : Self) -> Node? {
  self.as_node().lastChild()
}

///|
/// Inherited from Node
pub fn Element::previousSibling(self : Self) -> Node? {
  self.as_node().previousSibling()
}

///|
/// Inherited from Node
pub fn Element::nextSibling(self : Self) -> Node? {
  self.as_node().nextSibling()
}

///|
/// Inherited from Node
pub fn Element::appendChild(self : Self, child : Node) -> Node {
  self.as_node().appendChild(child)
}

///|
/// Inherited from Node
pub fn Element::removeChild(self : Self, child : Node) -> Node {
  self.as_node().removeChild(child)
}

///|
/// Inherited from Node
pub fn Element::insertBefore(
  self : Self,
  new_node : Node,
  ref_node : Node?,
) -> Node {
  self.as_node().insertBefore(new_node, ref_node)
}

///|
/// Inherited from Node
pub fn Element::replaceChild(
  self : Self,
  new_child : Node,
  old_child : Node,
) -> Node {
  self.as_node().replaceChild(new_child, old_child)
}

///|
/// Inherited from Node
pub fn Element::cloneNode(self : Self, deep : Bool) -> Node {
  self.as_node().cloneNode(deep)
}

///|
/// Inherited from Node
pub fn Element::contains(self : Self, other : Node?) -> Bool {
  self.as_node().contains(other)
}

///|
/// Inherited from Node
pub fn Element::hasChildNodes(self : Self) -> Bool {
  self.as_node().hasChildNodes()
}

///|
/// Inherited from Node
pub fn Element::textContent(self : Self) -> String {
  self.as_node().textContent()
}

///|
/// Inherited from Node
pub fn Element::setTextContent(self : Self, content : String) -> Unit {
  self.as_node().setTextContent(content)
}

///|
/// Inherited from Node
pub fn Element::moveBefore(
  self : Self,
  moved_node : Node,
  ref_node : Node?,
) -> Unit {
  self.as_node().moveBefore(moved_node, ref_node)
}

///|
/// Inherited from Node
pub fn Element::compareDocumentPosition(self : Self, other : Node) -> Int {
  self.as_node().compareDocumentPosition(other)
}

///|
/// Inherited from Node
pub fn Element::getRootNode(self : Self) -> Node {
  self.as_node().getRootNode()
}

///|
/// Inherited from Node
pub fn Element::isEqualNode(self : Self, other : Node?) -> Bool {
  self.as_node().isEqualNode(other)
}

///|
/// Inherited from Node
pub fn Element::isSameNode(self : Self, other : Node?) -> Bool {
  self.as_node().isSameNode(other)
}

///|
/// Inherited from Node
pub fn Element::normalize(self : Self) -> Unit {
  self.as_node().normalize()
}

///|
/// Inherited from Node
pub fn Element::nodeValue(self : Self) -> String? {
  self.as_node().nodeValue()
}

///|
/// Inherited from Node
pub fn Element::setNodeValue(self : Self, value : String?) -> Unit {
  self.as_node().setNodeValue(value)
}

///|
/// Inherited from Node
pub fn Element::ownerDocument(self : Self) -> Document? {
  self.as_node().ownerDocument()
}

///|
/// Inherited from Node
pub fn Element::isConnected(self : Self) -> Bool {
  self.as_node().isConnected()
}