enum ResponseType { "basic", "cors", "default", "error", "opaque", "opaqueredirect" };
typedef (ArrayBufferView or ArrayBuffer) BufferSource;
typedef (Blob or BufferSource or DOMFormData or URLSearchParams or USVString) BodyInit;
[
ActiveDOMObject,
Conditional=FETCH_API,
ConstructorCallWith=ScriptExecutionContext,
EnabledAtRuntime=FetchAPI,
Exposed=(Window,Worker),
InterfaceName=Response,
JSBuiltinConstructor,
PrivateIdentifier,
PublicIdentifier,
] interface FetchResponse {
[CallWith=ScriptExecutionContext, NewObject] static FetchResponse error();
[CallWith=ScriptExecutionContext, MayThrowException, NewObject] static FetchResponse redirect(DOMString url, optional unsigned short status = 302);
readonly attribute ResponseType type;
readonly attribute DOMString url;
readonly attribute boolean redirected;
readonly attribute unsigned short status;
readonly attribute boolean ok;
readonly attribute DOMString statusText;
readonly attribute FetchHeaders headers; [JSBuiltin] readonly attribute ReadableStream? body;
[JSBuiltin] readonly attribute boolean bodyUsed;
[JSBuiltin] Promise<ArrayBuffer> arrayBuffer();
[JSBuiltin] Promise<Blob> blob();
[JSBuiltin] Promise<Blob> formData();
[JSBuiltin] Promise<any> json();
[JSBuiltin] Promise<USVString> text();
[JSBuiltin] FetchResponse clone();
[NewObject, PrivateIdentifier] FetchResponse cloneForJS();
[Conditional=STREAMS_API, PrivateIdentifier] void startConsumingStream(unsigned short type);
[Conditional=STREAMS_API, PrivateIdentifier] void consumeChunk(Uint8Array chunk);
[Conditional=STREAMS_API, PrivateIdentifier] Promise<any> finishConsumingStream();
[PrivateIdentifier] Promise<any> consume(unsigned short type);
[PrivateIdentifier] boolean isLoading();
[MayThrowException, PrivateIdentifier] void setStatus(unsigned short status, DOMString statusText);
[PrivateIdentifier] void initializeWith(BodyInit body);
[NewObject, PrivateIdentifier] ReadableStreamSource createReadableStreamSource();
[PrivateIdentifier] boolean isDisturbed();
[PrivateIdentifier] void setBodyAsReadableStream();
};