#![allow(unused_imports)]
#![allow(clippy::all)]
use super::*;
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
extern "C" {
# [wasm_bindgen (extends = :: js_sys :: Object , js_name = CSSStyleDeclaration , typescript_type = "CSSStyleDeclaration")]
#[derive(Debug, Clone, PartialEq, Eq)]
#[doc = "The `CssStyleDeclaration` class."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `CssStyleDeclaration`*"]
pub type CssStyleDeclaration;
# [wasm_bindgen (structural , method , getter , js_class = "CSSStyleDeclaration" , js_name = cssText)]
#[doc = "Getter for the `cssText` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/cssText)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `CssStyleDeclaration`*"]
pub fn css_text(this: &CssStyleDeclaration) -> String;
# [wasm_bindgen (structural , method , setter , js_class = "CSSStyleDeclaration" , js_name = cssText)]
#[doc = "Setter for the `cssText` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/cssText)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `CssStyleDeclaration`*"]
pub fn set_css_text(this: &CssStyleDeclaration, value: &str);
# [wasm_bindgen (structural , method , getter , js_class = "CSSStyleDeclaration" , js_name = length)]
#[doc = "Getter for the `length` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/length)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `CssStyleDeclaration`*"]
pub fn length(this: &CssStyleDeclaration) -> u32;
#[cfg(feature = "CssRule")]
# [wasm_bindgen (structural , method , getter , js_class = "CSSStyleDeclaration" , js_name = parentRule)]
#[doc = "Getter for the `parentRule` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/parentRule)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `CssRule`, `CssStyleDeclaration`*"]
pub fn parent_rule(this: &CssStyleDeclaration) -> Option<CssRule>;
# [wasm_bindgen (method , structural , js_class = "CSSStyleDeclaration" , js_name = getPropertyPriority)]
#[doc = "The `getPropertyPriority()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/getPropertyPriority)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `CssStyleDeclaration`*"]
pub fn get_property_priority(this: &CssStyleDeclaration, property: &str) -> String;
# [wasm_bindgen (catch , method , structural , js_class = "CSSStyleDeclaration" , js_name = getPropertyValue)]
#[doc = "The `getPropertyValue()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/getPropertyValue)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `CssStyleDeclaration`*"]
pub fn get_property_value(
this: &CssStyleDeclaration,
property: &str,
) -> Result<String, JsValue>;
# [wasm_bindgen (method , structural , js_class = "CSSStyleDeclaration" , js_name = item)]
#[doc = "The `item()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/item)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `CssStyleDeclaration`*"]
pub fn item(this: &CssStyleDeclaration, index: u32) -> String;
# [wasm_bindgen (catch , method , structural , js_class = "CSSStyleDeclaration" , js_name = removeProperty)]
#[doc = "The `removeProperty()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/removeProperty)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `CssStyleDeclaration`*"]
pub fn remove_property(this: &CssStyleDeclaration, property: &str) -> Result<String, JsValue>;
# [wasm_bindgen (catch , method , structural , js_class = "CSSStyleDeclaration" , js_name = setProperty)]
#[doc = "The `setProperty()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/setProperty)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `CssStyleDeclaration`*"]
pub fn set_property(
this: &CssStyleDeclaration,
property: &str,
value: &str,
) -> Result<(), JsValue>;
# [wasm_bindgen (catch , method , structural , js_class = "CSSStyleDeclaration" , js_name = setProperty)]
#[doc = "The `setProperty()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/setProperty)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `CssStyleDeclaration`*"]
pub fn set_property_with_priority(
this: &CssStyleDeclaration,
property: &str,
value: &str,
priority: &str,
) -> Result<(), JsValue>;
#[wasm_bindgen(method, structural, js_class = "CSSStyleDeclaration", indexing_getter)]
#[doc = "Indexing getter. As in the literal Javascript `this[key]`."]
#[doc = ""]
#[doc = ""]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `CssStyleDeclaration`*"]
pub fn get(this: &CssStyleDeclaration, index: u32) -> Option<String>;
}