#![allow(unused_imports)]
#![allow(clippy::all)]
use super::*;
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
extern "C" {
# [wasm_bindgen (is_type_of = | _ | false , extends = :: js_sys :: Object , js_name = ScrollBoxObject , typescript_type = "ScrollBoxObject")]
#[derive(Debug, Clone, PartialEq, Eq)]
#[doc = "The `ScrollBoxObject` class."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ScrollBoxObject)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ScrollBoxObject`*"]
pub type ScrollBoxObject;
# [wasm_bindgen (structural , catch , method , getter , js_class = "ScrollBoxObject" , js_name = positionX)]
#[doc = "Getter for the `positionX` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ScrollBoxObject/positionX)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ScrollBoxObject`*"]
pub fn position_x(this: &ScrollBoxObject) -> Result<i32, JsValue>;
# [wasm_bindgen (structural , catch , method , getter , js_class = "ScrollBoxObject" , js_name = positionY)]
#[doc = "Getter for the `positionY` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ScrollBoxObject/positionY)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ScrollBoxObject`*"]
pub fn position_y(this: &ScrollBoxObject) -> Result<i32, JsValue>;
# [wasm_bindgen (structural , catch , method , getter , js_class = "ScrollBoxObject" , js_name = scrolledWidth)]
#[doc = "Getter for the `scrolledWidth` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ScrollBoxObject/scrolledWidth)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ScrollBoxObject`*"]
pub fn scrolled_width(this: &ScrollBoxObject) -> Result<i32, JsValue>;
# [wasm_bindgen (structural , catch , method , getter , js_class = "ScrollBoxObject" , js_name = scrolledHeight)]
#[doc = "Getter for the `scrolledHeight` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ScrollBoxObject/scrolledHeight)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ScrollBoxObject`*"]
pub fn scrolled_height(this: &ScrollBoxObject) -> Result<i32, JsValue>;
#[cfg(feature = "Element")]
# [wasm_bindgen (catch , method , structural , js_class = "ScrollBoxObject" , js_name = ensureElementIsVisible)]
#[doc = "The `ensureElementIsVisible()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ScrollBoxObject/ensureElementIsVisible)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `Element`, `ScrollBoxObject`*"]
pub fn ensure_element_is_visible(
this: &ScrollBoxObject,
child: &Element,
) -> Result<(), JsValue>;
# [wasm_bindgen (catch , method , structural , js_class = "ScrollBoxObject" , js_name = scrollBy)]
#[doc = "The `scrollBy()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ScrollBoxObject/scrollBy)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ScrollBoxObject`*"]
pub fn scroll_by(this: &ScrollBoxObject, dx: i32, dy: i32) -> Result<(), JsValue>;
# [wasm_bindgen (catch , method , structural , js_class = "ScrollBoxObject" , js_name = scrollByIndex)]
#[doc = "The `scrollByIndex()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ScrollBoxObject/scrollByIndex)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ScrollBoxObject`*"]
pub fn scroll_by_index(this: &ScrollBoxObject, dindexes: i32) -> Result<(), JsValue>;
# [wasm_bindgen (catch , method , structural , js_class = "ScrollBoxObject" , js_name = scrollTo)]
#[doc = "The `scrollTo()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ScrollBoxObject/scrollTo)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `ScrollBoxObject`*"]
pub fn scroll_to(this: &ScrollBoxObject, x: i32, y: i32) -> Result<(), JsValue>;
#[cfg(feature = "Element")]
# [wasm_bindgen (catch , method , structural , js_class = "ScrollBoxObject" , js_name = scrollToElement)]
#[doc = "The `scrollToElement()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/ScrollBoxObject/scrollToElement)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `Element`, `ScrollBoxObject`*"]
pub fn scroll_to_element(this: &ScrollBoxObject, child: &Element) -> Result<(), JsValue>;
}