#![allow(unused_imports)]
#![allow(clippy::all)]
use super::*;
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
extern "C" {
#[wasm_bindgen(
extends = "Event",
extends = "::js_sys::Object",
js_name = "NavigateEvent",
typescript_type = "NavigateEvent"
)]
#[derive(Debug, Clone, PartialEq, Eq)]
#[doc = "The `NavigateEvent` class."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `NavigateEvent`*"]
pub type NavigateEvent;
#[cfg(feature = "NavigationApiType")]
#[wasm_bindgen(method, getter, js_class = "NavigateEvent", js_name = "navigationType")]
#[doc = "Getter for the `navigationType` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/navigationType)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `NavigateEvent`, `NavigationApiType`*"]
pub fn navigation_type(this: &NavigateEvent) -> NavigationApiType;
#[cfg(feature = "NavigationDestination")]
#[wasm_bindgen(method, getter, js_class = "NavigateEvent", js_name = "destination")]
#[doc = "Getter for the `destination` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/destination)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `NavigateEvent`, `NavigationDestination`*"]
pub fn destination(this: &NavigateEvent) -> NavigationDestination;
#[wasm_bindgen(method, getter, js_class = "NavigateEvent", js_name = "canIntercept")]
#[doc = "Getter for the `canIntercept` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/canIntercept)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `NavigateEvent`*"]
pub fn can_intercept(this: &NavigateEvent) -> bool;
#[wasm_bindgen(method, getter, js_class = "NavigateEvent", js_name = "userInitiated")]
#[doc = "Getter for the `userInitiated` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/userInitiated)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `NavigateEvent`*"]
pub fn user_initiated(this: &NavigateEvent) -> bool;
#[wasm_bindgen(method, getter, js_class = "NavigateEvent", js_name = "hashChange")]
#[doc = "Getter for the `hashChange` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/hashChange)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `NavigateEvent`*"]
pub fn hash_change(this: &NavigateEvent) -> bool;
#[cfg(feature = "AbortSignal")]
#[wasm_bindgen(method, getter, js_class = "NavigateEvent", js_name = "signal")]
#[doc = "Getter for the `signal` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/signal)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `AbortSignal`, `NavigateEvent`*"]
pub fn signal(this: &NavigateEvent) -> AbortSignal;
#[cfg(feature = "FormData")]
#[wasm_bindgen(method, getter, js_class = "NavigateEvent", js_name = "formData")]
#[doc = "Getter for the `formData` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/formData)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `FormData`, `NavigateEvent`*"]
pub fn form_data(this: &NavigateEvent) -> Option<FormData>;
#[wasm_bindgen(
method,
getter,
js_class = "NavigateEvent",
js_name = "downloadRequest"
)]
#[doc = "Getter for the `downloadRequest` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/downloadRequest)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `NavigateEvent`*"]
pub fn download_request(this: &NavigateEvent) -> Option<::alloc::string::String>;
#[wasm_bindgen(method, getter, js_class = "NavigateEvent", js_name = "info")]
#[doc = "Getter for the `info` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/info)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `NavigateEvent`*"]
pub fn info(this: &NavigateEvent) -> ::wasm_bindgen::JsValue;
#[wasm_bindgen(
method,
getter,
js_class = "NavigateEvent",
js_name = "hasUAVisualTransition"
)]
#[doc = "Getter for the `hasUAVisualTransition` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/hasUAVisualTransition)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `NavigateEvent`*"]
pub fn has_ua_visual_transition(this: &NavigateEvent) -> bool;
#[cfg(feature = "Element")]
#[wasm_bindgen(method, getter, js_class = "NavigateEvent", js_name = "sourceElement")]
#[doc = "Getter for the `sourceElement` field of this object."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/sourceElement)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `Element`, `NavigateEvent`*"]
pub fn source_element(this: &NavigateEvent) -> Option<Element>;
#[cfg(feature = "NavigateEventInit")]
#[wasm_bindgen(catch, constructor, js_class = "NavigateEvent")]
#[doc = "The `new NavigateEvent(..)` constructor, creating a new instance of `NavigateEvent`."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/NavigateEvent)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `NavigateEvent`, `NavigateEventInit`*"]
pub fn new(type_: &str, event_init_dict: &NavigateEventInit) -> Result<NavigateEvent, JsValue>;
#[wasm_bindgen(catch, method, js_class = "NavigateEvent")]
#[doc = "The `intercept()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/intercept)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `NavigateEvent`*"]
pub fn intercept(this: &NavigateEvent) -> Result<(), JsValue>;
#[cfg(feature = "NavigationInterceptOptions")]
#[wasm_bindgen(catch, method, js_class = "NavigateEvent", js_name = "intercept")]
#[doc = "The `intercept()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/intercept)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `NavigateEvent`, `NavigationInterceptOptions`*"]
pub fn intercept_with_options(
this: &NavigateEvent,
options: &NavigationInterceptOptions,
) -> Result<(), JsValue>;
#[wasm_bindgen(catch, method, js_class = "NavigateEvent")]
#[doc = "The `scroll()` method."]
#[doc = ""]
#[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/scroll)"]
#[doc = ""]
#[doc = "*This API requires the following crate features to be activated: `NavigateEvent`*"]
pub fn scroll(this: &NavigateEvent) -> Result<(), JsValue>;
}