#![allow(unused_imports)]
#![allow(clippy::all)]
use super::*;
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
extern "C" {
    #[wasm_bindgen(
        extends = "::js_sys::Object",
        js_name = "Request",
        typescript_type = "Request"
    )]
    #[derive(Debug, Clone, PartialEq, Eq)]
    #[doc = "The `Request` class."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`*"]
    pub type Request;
    #[wasm_bindgen(method, getter, js_class = "Request", js_name = "method")]
    #[doc = "Getter for the `method` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/method)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`*"]
    pub fn method(this: &Request) -> ::alloc::string::String;
    #[wasm_bindgen(method, getter, js_class = "Request", js_name = "url")]
    #[doc = "Getter for the `url` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/url)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`*"]
    pub fn url(this: &Request) -> ::alloc::string::String;
    #[cfg(feature = "Headers")]
    #[wasm_bindgen(method, getter, js_class = "Request", js_name = "headers")]
    #[doc = "Getter for the `headers` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/headers)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Headers`, `Request`*"]
    pub fn headers(this: &Request) -> Headers;
    #[cfg(feature = "RequestDestination")]
    #[wasm_bindgen(method, getter, js_class = "Request", 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/Request/destination)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`, `RequestDestination`*"]
    pub fn destination(this: &Request) -> RequestDestination;
    #[wasm_bindgen(method, getter, js_class = "Request", js_name = "referrer")]
    #[doc = "Getter for the `referrer` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/referrer)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`*"]
    pub fn referrer(this: &Request) -> ::alloc::string::String;
    #[cfg(feature = "ReferrerPolicy")]
    #[wasm_bindgen(method, getter, js_class = "Request", js_name = "referrerPolicy")]
    #[doc = "Getter for the `referrerPolicy` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/referrerPolicy)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `ReferrerPolicy`, `Request`*"]
    pub fn referrer_policy(this: &Request) -> ReferrerPolicy;
    #[cfg(feature = "RequestMode")]
    #[wasm_bindgen(method, getter, js_class = "Request", js_name = "mode")]
    #[doc = "Getter for the `mode` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/mode)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`, `RequestMode`*"]
    pub fn mode(this: &Request) -> RequestMode;
    #[cfg(feature = "RequestCredentials")]
    #[wasm_bindgen(method, getter, js_class = "Request", js_name = "credentials")]
    #[doc = "Getter for the `credentials` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/credentials)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`, `RequestCredentials`*"]
    pub fn credentials(this: &Request) -> RequestCredentials;
    #[cfg(feature = "RequestCache")]
    #[wasm_bindgen(method, getter, js_class = "Request", js_name = "cache")]
    #[doc = "Getter for the `cache` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/cache)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`, `RequestCache`*"]
    pub fn cache(this: &Request) -> RequestCache;
    #[cfg(feature = "RequestRedirect")]
    #[wasm_bindgen(method, getter, js_class = "Request", js_name = "redirect")]
    #[doc = "Getter for the `redirect` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/redirect)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`, `RequestRedirect`*"]
    pub fn redirect(this: &Request) -> RequestRedirect;
    #[wasm_bindgen(method, getter, js_class = "Request", js_name = "integrity")]
    #[doc = "Getter for the `integrity` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/integrity)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`*"]
    pub fn integrity(this: &Request) -> ::alloc::string::String;
    #[cfg(feature = "AbortSignal")]
    #[wasm_bindgen(method, getter, js_class = "Request", 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/Request/signal)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `AbortSignal`, `Request`*"]
    pub fn signal(this: &Request) -> AbortSignal;
    #[wasm_bindgen(method, getter, js_class = "Request", js_name = "bodyUsed")]
    #[doc = "Getter for the `bodyUsed` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/bodyUsed)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`*"]
    pub fn body_used(this: &Request) -> bool;
    #[cfg(feature = "ReadableStream")]
    #[wasm_bindgen(method, getter, js_class = "Request", js_name = "body")]
    #[doc = "Getter for the `body` field of this object."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/body)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `ReadableStream`, `Request`*"]
    pub fn body(this: &Request) -> Option<ReadableStream>;
    #[wasm_bindgen(catch, constructor, js_class = "Request")]
    #[doc = "The `new Request(..)` constructor, creating a new instance of `Request`."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`*"]
    pub fn new_with_request(input: &Request) -> Result<Request, JsValue>;
    #[wasm_bindgen(catch, constructor, js_class = "Request")]
    #[doc = "The `new Request(..)` constructor, creating a new instance of `Request`."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`*"]
    pub fn new_with_str(input: &str) -> Result<Request, JsValue>;
    #[cfg(feature = "RequestInit")]
    #[wasm_bindgen(catch, constructor, js_class = "Request")]
    #[doc = "The `new Request(..)` constructor, creating a new instance of `Request`."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`, `RequestInit`*"]
    pub fn new_with_request_and_init(
        input: &Request,
        init: &RequestInit,
    ) -> Result<Request, JsValue>;
    #[cfg(feature = "RequestInit")]
    #[wasm_bindgen(catch, constructor, js_class = "Request")]
    #[doc = "The `new Request(..)` constructor, creating a new instance of `Request`."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`, `RequestInit`*"]
    pub fn new_with_str_and_init(input: &str, init: &RequestInit) -> Result<Request, JsValue>;
    #[wasm_bindgen(catch, method, js_class = "Request")]
    #[doc = "The `clone()` method."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/clone)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`*"]
    pub fn clone(this: &Request) -> Result<Request, JsValue>;
    #[wasm_bindgen(catch, method, js_class = "Request", js_name = "arrayBuffer")]
    #[doc = "The `arrayBuffer()` method."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/arrayBuffer)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`*"]
    pub fn array_buffer(this: &Request) -> Result<::js_sys::Promise, JsValue>;
    #[wasm_bindgen(catch, method, js_class = "Request")]
    #[doc = "The `blob()` method."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/blob)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`*"]
    pub fn blob(this: &Request) -> Result<::js_sys::Promise, JsValue>;
    #[wasm_bindgen(catch, method, js_class = "Request", js_name = "formData")]
    #[doc = "The `formData()` method."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/formData)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`*"]
    pub fn form_data(this: &Request) -> Result<::js_sys::Promise, JsValue>;
    #[wasm_bindgen(catch, method, js_class = "Request")]
    #[doc = "The `json()` method."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/json)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`*"]
    pub fn json(this: &Request) -> Result<::js_sys::Promise, JsValue>;
    #[wasm_bindgen(catch, method, js_class = "Request")]
    #[doc = "The `text()` method."]
    #[doc = ""]
    #[doc = "[MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/Request/text)"]
    #[doc = ""]
    #[doc = "*This API requires the following crate features to be activated: `Request`*"]
    pub fn text(this: &Request) -> Result<::js_sys::Promise, JsValue>;
}
