#![allow(unused_imports)]
#![allow(clippy::all)]
use super::*;
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
extern "C" {
#[wasm_bindgen(
extends = "HtmlElement",
extends = "Element",
extends = "Node",
extends = "EventTarget",
extends = "::js_sys::Object",
js_name = "HTMLTableElement",
typescript_type = "HTMLTableElement"
)]
#[derive(Debug, Clone, PartialEq, Eq)]
#[doc = "The `HtmlTableElement` class."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub type HtmlTableElement;
#[cfg(feature = "HtmlTableCaptionElement")]
#[wasm_bindgen(method, getter, js_class = "HTMLTableElement", js_name = "caption")]
#[doc = "Getter for the `caption` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/caption)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableCaptionElement`, `HtmlTableElement`*"]
pub fn caption(this: &HtmlTableElement) -> Option<HtmlTableCaptionElement>;
#[cfg(feature = "HtmlTableCaptionElement")]
#[wasm_bindgen(method, setter, js_class = "HTMLTableElement", js_name = "caption")]
#[doc = "Setter for the `caption` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/caption)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableCaptionElement`, `HtmlTableElement`*"]
pub fn set_caption(this: &HtmlTableElement, value: Option<&HtmlTableCaptionElement>);
#[cfg(feature = "HtmlTableSectionElement")]
#[wasm_bindgen(method, getter, js_class = "HTMLTableElement", js_name = "tHead")]
#[doc = "Getter for the `tHead` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/tHead)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`, `HtmlTableSectionElement`*"]
pub fn t_head(this: &HtmlTableElement) -> Option<HtmlTableSectionElement>;
#[cfg(feature = "HtmlTableSectionElement")]
#[wasm_bindgen(method, setter, js_class = "HTMLTableElement", js_name = "tHead")]
#[doc = "Setter for the `tHead` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/tHead)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`, `HtmlTableSectionElement`*"]
pub fn set_t_head(this: &HtmlTableElement, value: Option<&HtmlTableSectionElement>);
#[cfg(feature = "HtmlTableSectionElement")]
#[wasm_bindgen(method, getter, js_class = "HTMLTableElement", js_name = "tFoot")]
#[doc = "Getter for the `tFoot` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/tFoot)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`, `HtmlTableSectionElement`*"]
pub fn t_foot(this: &HtmlTableElement) -> Option<HtmlTableSectionElement>;
#[cfg(feature = "HtmlTableSectionElement")]
#[wasm_bindgen(method, setter, js_class = "HTMLTableElement", js_name = "tFoot")]
#[doc = "Setter for the `tFoot` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/tFoot)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`, `HtmlTableSectionElement`*"]
pub fn set_t_foot(this: &HtmlTableElement, value: Option<&HtmlTableSectionElement>);
#[cfg(feature = "HtmlCollection")]
#[wasm_bindgen(method, getter, js_class = "HTMLTableElement", js_name = "tBodies")]
#[doc = "Getter for the `tBodies` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/tBodies)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlCollection`, `HtmlTableElement`*"]
pub fn t_bodies(this: &HtmlTableElement) -> HtmlCollection;
#[cfg(feature = "HtmlCollection")]
#[wasm_bindgen(method, getter, js_class = "HTMLTableElement", js_name = "rows")]
#[doc = "Getter for the `rows` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/rows)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlCollection`, `HtmlTableElement`*"]
pub fn rows(this: &HtmlTableElement) -> HtmlCollection;
#[wasm_bindgen(method, getter, js_class = "HTMLTableElement", js_name = "align")]
#[doc = "Getter for the `align` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/align)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn align(this: &HtmlTableElement) -> ::alloc::string::String;
#[wasm_bindgen(method, setter, js_class = "HTMLTableElement", js_name = "align")]
#[doc = "Setter for the `align` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/align)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn set_align(this: &HtmlTableElement, value: &str);
#[wasm_bindgen(method, getter, js_class = "HTMLTableElement", js_name = "border")]
#[doc = "Getter for the `border` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/border)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn border(this: &HtmlTableElement) -> ::alloc::string::String;
#[wasm_bindgen(method, setter, js_class = "HTMLTableElement", js_name = "border")]
#[doc = "Setter for the `border` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/border)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn set_border(this: &HtmlTableElement, value: &str);
#[wasm_bindgen(method, getter, js_class = "HTMLTableElement", js_name = "frame")]
#[doc = "Getter for the `frame` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/frame)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn frame(this: &HtmlTableElement) -> ::alloc::string::String;
#[wasm_bindgen(method, setter, js_class = "HTMLTableElement", js_name = "frame")]
#[doc = "Setter for the `frame` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/frame)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn set_frame(this: &HtmlTableElement, value: &str);
#[wasm_bindgen(method, getter, js_class = "HTMLTableElement", js_name = "rules")]
#[doc = "Getter for the `rules` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/rules)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn rules(this: &HtmlTableElement) -> ::alloc::string::String;
#[wasm_bindgen(method, setter, js_class = "HTMLTableElement", js_name = "rules")]
#[doc = "Setter for the `rules` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/rules)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn set_rules(this: &HtmlTableElement, value: &str);
#[wasm_bindgen(method, getter, js_class = "HTMLTableElement", js_name = "summary")]
#[doc = "Getter for the `summary` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/summary)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn summary(this: &HtmlTableElement) -> ::alloc::string::String;
#[wasm_bindgen(method, setter, js_class = "HTMLTableElement", js_name = "summary")]
#[doc = "Setter for the `summary` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/summary)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn set_summary(this: &HtmlTableElement, value: &str);
#[wasm_bindgen(method, getter, js_class = "HTMLTableElement", js_name = "width")]
#[doc = "Getter for the `width` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/width)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn width(this: &HtmlTableElement) -> ::alloc::string::String;
#[wasm_bindgen(method, setter, js_class = "HTMLTableElement", js_name = "width")]
#[doc = "Setter for the `width` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/width)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn set_width(this: &HtmlTableElement, value: &str);
#[wasm_bindgen(method, getter, js_class = "HTMLTableElement", js_name = "bgColor")]
#[doc = "Getter for the `bgColor` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/bgColor)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn bg_color(this: &HtmlTableElement) -> ::alloc::string::String;
#[wasm_bindgen(method, setter, js_class = "HTMLTableElement", js_name = "bgColor")]
#[doc = "Setter for the `bgColor` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/bgColor)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn set_bg_color(this: &HtmlTableElement, value: &str);
#[wasm_bindgen(method, getter, js_class = "HTMLTableElement", js_name = "cellPadding")]
#[doc = "Getter for the `cellPadding` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/cellPadding)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn cell_padding(this: &HtmlTableElement) -> ::alloc::string::String;
#[wasm_bindgen(method, setter, js_class = "HTMLTableElement", js_name = "cellPadding")]
#[doc = "Setter for the `cellPadding` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/cellPadding)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn set_cell_padding(this: &HtmlTableElement, value: &str);
#[wasm_bindgen(method, getter, js_class = "HTMLTableElement", js_name = "cellSpacing")]
#[doc = "Getter for the `cellSpacing` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/cellSpacing)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn cell_spacing(this: &HtmlTableElement) -> ::alloc::string::String;
#[wasm_bindgen(method, setter, js_class = "HTMLTableElement", js_name = "cellSpacing")]
#[doc = "Setter for the `cellSpacing` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/cellSpacing)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn set_cell_spacing(this: &HtmlTableElement, value: &str);
#[wasm_bindgen(method, js_class = "HTMLTableElement", js_name = "createCaption")]
#[doc = "The `createCaption()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/createCaption)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn create_caption(this: &HtmlTableElement) -> HtmlElement;
#[wasm_bindgen(method, js_class = "HTMLTableElement", js_name = "createTBody")]
#[doc = "The `createTBody()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/createTBody)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn create_t_body(this: &HtmlTableElement) -> HtmlElement;
#[wasm_bindgen(method, js_class = "HTMLTableElement", js_name = "createTFoot")]
#[doc = "The `createTFoot()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/createTFoot)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn create_t_foot(this: &HtmlTableElement) -> HtmlElement;
#[wasm_bindgen(method, js_class = "HTMLTableElement", js_name = "createTHead")]
#[doc = "The `createTHead()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/createTHead)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn create_t_head(this: &HtmlTableElement) -> HtmlElement;
#[wasm_bindgen(method, js_class = "HTMLTableElement", js_name = "deleteCaption")]
#[doc = "The `deleteCaption()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/deleteCaption)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn delete_caption(this: &HtmlTableElement);
#[wasm_bindgen(catch, method, js_class = "HTMLTableElement", js_name = "deleteRow")]
#[doc = "The `deleteRow()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/deleteRow)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn delete_row(this: &HtmlTableElement, index: i32) -> Result<(), JsValue>;
#[wasm_bindgen(method, js_class = "HTMLTableElement", js_name = "deleteTFoot")]
#[doc = "The `deleteTFoot()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/deleteTFoot)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn delete_t_foot(this: &HtmlTableElement);
#[wasm_bindgen(method, js_class = "HTMLTableElement", js_name = "deleteTHead")]
#[doc = "The `deleteTHead()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/deleteTHead)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn delete_t_head(this: &HtmlTableElement);
#[wasm_bindgen(catch, method, js_class = "HTMLTableElement", js_name = "insertRow")]
#[doc = "The `insertRow()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/insertRow)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn insert_row(this: &HtmlTableElement) -> Result<HtmlElement, JsValue>;
#[wasm_bindgen(catch, method, js_class = "HTMLTableElement", js_name = "insertRow")]
#[doc = "The `insertRow()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/insertRow)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `HtmlTableElement`*"]
pub fn insert_row_with_index(
this: &HtmlTableElement,
index: i32,
) -> Result<HtmlElement, JsValue>;
}