///
///
///
///
///
///
///
///
import CustomElementRegistry from '../custom-element/CustomElementRegistry.js';
import * as PropertySymbol from '../PropertySymbol.js';
import DocumentImplementation from '../nodes/document/Document.js';
import HTMLDocumentImplementation from '../nodes/html-document/HTMLDocument.js';
import XMLDocumentImplementation from '../nodes/xml-document/XMLDocument.js';
import SVGDocumentImplementation from '../nodes/svg-document/SVGDocument.js';
import Node from '../nodes/node/Node.js';
import Text from '../nodes/text/Text.js';
import Comment from '../nodes/comment/Comment.js';
import ShadowRoot from '../nodes/shadow-root/ShadowRoot.js';
import Element from '../nodes/element/Element.js';
import HTMLTemplateElement from '../nodes/html-template-element/HTMLTemplateElement.js';
import HTMLFormElement from '../nodes/html-form-element/HTMLFormElement.js';
import HTMLElement from '../nodes/html-element/HTMLElement.js';
import HTMLUnknownElement from '../nodes/html-unknown-element/HTMLUnknownElement.js';
import HTMLInputElement from '../nodes/html-input-element/HTMLInputElement.js';
import HTMLSelectElement from '../nodes/html-select-element/HTMLSelectElement.js';
import HTMLTextAreaElement from '../nodes/html-text-area-element/HTMLTextAreaElement.js';
import HTMLLinkElementImplementation from '../nodes/html-link-element/HTMLLinkElement.js';
import HTMLStyleElement from '../nodes/html-style-element/HTMLStyleElement.js';
import HTMLSlotElement from '../nodes/html-slot-element/HTMLSlotElement.js';
import HTMLLabelElement from '../nodes/html-label-element/HTMLLabelElement.js';
import HTMLMetaElement from '../nodes/html-meta-element/HTMLMetaElement.js';
import HTMLMediaElement from '../nodes/html-media-element/HTMLMediaElement.js';
import HTMLAudioElement from '../nodes/html-audio-element/HTMLAudioElement.js';
import HTMLVideoElement from '../nodes/html-video-element/HTMLVideoElement.js';
import HTMLBaseElement from '../nodes/html-base-element/HTMLBaseElement.js';
import HTMLIFrameElementImplementation from '../nodes/html-iframe-element/HTMLIFrameElement.js';
import HTMLDialogElement from '../nodes/html-dialog-element/HTMLDialogElement.js';
import SVGSVGElement from '../nodes/svg-element/SVGSVGElement.js';
import SVGElement from '../nodes/svg-element/SVGElement.js';
import SVGGraphicsElement from '../nodes/svg-element/SVGGraphicsElement.js';
import HTMLScriptElementImplementation from '../nodes/html-script-element/HTMLScriptElement.js';
import HTMLImageElement from '../nodes/html-image-element/HTMLImageElement.js';
import CharacterData from '../nodes/character-data/CharacterData.js';
import DocumentType from '../nodes/document-type/DocumentType.js';
import NodeIterator from '../tree-walker/NodeIterator.js';
import TreeWalker from '../tree-walker/TreeWalker.js';
import Event from '../event/Event.js';
import CustomEvent from '../event/events/CustomEvent.js';
import AnimationEvent from '../event/events/AnimationEvent.js';
import KeyboardEvent from '../event/events/KeyboardEvent.js';
import MessageEvent from '../event/events/MessageEvent.js';
import ProgressEvent from '../event/events/ProgressEvent.js';
import MediaQueryListEvent from '../event/events/MediaQueryListEvent.js';
import TouchEvent from '../event/events/TouchEvent.js';
import Touch from '../event/Touch.js';
import EventTarget from '../event/EventTarget.js';
import MessagePort from '../event/MessagePort.js';
import { URLSearchParams } from 'url';
import URL from '../url/URL.js';
import Location from '../url/Location.js';
import MutationObserver from '../mutation-observer/MutationObserver.js';
import MutationRecord from '../mutation-observer/MutationRecord.js';
import XMLSerializer from '../xml-serializer/XMLSerializer.js';
import ResizeObserver from '../resize-observer/ResizeObserver.js';
import Blob from '../file/Blob.js';
import File from '../file/File.js';
import DOMException from '../exception/DOMException.js';
import History from '../history/History.js';
import CSSStyleSheet from '../css/CSSStyleSheet.js';
import CSSStyleDeclaration from '../css/declaration/CSSStyleDeclaration.js';
import CSS from '../css/CSS.js';
import CSSUnitValue from '../css/CSSUnitValue.js';
import CSSRule from '../css/CSSRule.js';
import CSSContainerRule from '../css/rules/CSSContainerRule.js';
import CSSFontFaceRule from '../css/rules/CSSFontFaceRule.js';
import CSSKeyframeRule from '../css/rules/CSSKeyframeRule.js';
import CSSKeyframesRule from '../css/rules/CSSKeyframesRule.js';
import CSSMediaRule from '../css/rules/CSSMediaRule.js';
import CSSStyleRule from '../css/rules/CSSStyleRule.js';
import CSSSupportsRule from '../css/rules/CSSSupportsRule.js';
import MouseEvent from '../event/events/MouseEvent.js';
import PointerEvent from '../event/events/PointerEvent.js';
import FocusEvent from '../event/events/FocusEvent.js';
import WheelEvent from '../event/events/WheelEvent.js';
import DataTransfer from '../event/DataTransfer.js';
import DataTransferItem from '../event/DataTransferItem.js';
import DataTransferItemList from '../event/DataTransferItemList.js';
import InputEvent from '../event/events/InputEvent.js';
import UIEvent from '../event/UIEvent.js';
import ErrorEvent from '../event/events/ErrorEvent.js';
import StorageEvent from '../event/events/StorageEvent.js';
import SubmitEvent from '../event/events/SubmitEvent.js';
import Screen from '../screen/Screen.js';
import IResponse from '../fetch/types/IResponse.js';
import IRequestInit from '../fetch/types/IRequestInit.js';
import Storage from '../storage/Storage.js';
import HTMLCollection from '../nodes/element/HTMLCollection.js';
import HTMLFormControlsCollection from '../nodes/html-form-element/HTMLFormControlsCollection.js';
import NodeList from '../nodes/node/NodeList.js';
import MediaQueryList from '../match-media/MediaQueryList.js';
import Selection from '../selection/Selection.js';
import Navigator from '../navigator/Navigator.js';
import MimeType from '../navigator/MimeType.js';
import MimeTypeArray from '../navigator/MimeTypeArray.js';
import Plugin from '../navigator/Plugin.js';
import PluginArray from '../navigator/PluginArray.js';
import DOMRect from '../nodes/element/DOMRect.js';
import { Buffer } from 'buffer';
import { webcrypto } from 'crypto';
import XMLHttpRequestUpload from '../xml-http-request/XMLHttpRequestUpload.js';
import XMLHttpRequestEventTarget from '../xml-http-request/XMLHttpRequestEventTarget.js';
import Attr from '../nodes/attr/Attr.js';
import NamedNodeMap from '../named-node-map/NamedNodeMap.js';
import IElement from '../nodes/element/IElement.js';
import ProcessingInstruction from '../nodes/processing-instruction/ProcessingInstruction.js';
import RequestInfo from '../fetch/types/IRequestInfo.js';
import FileList from '../nodes/html-input-element/FileList.js';
import Stream from 'stream';
import { ReadableStream } from 'stream/web';
import FormData from '../form-data/FormData.js';
import AbortController from '../fetch/AbortController.js';
import AbortSignal from '../fetch/AbortSignal.js';
import RadioNodeList from '../nodes/html-form-element/RadioNodeList.js';
import ValidityState from '../validity-state/ValidityState.js';
import ICrossOriginBrowserWindow from './ICrossOriginBrowserWindow.js';
import Permissions from '../permissions/Permissions.js';
import PermissionStatus from '../permissions/PermissionStatus.js';
import Clipboard from '../clipboard/Clipboard.js';
import ClipboardItem from '../clipboard/ClipboardItem.js';
import ClipboardEvent from '../event/events/ClipboardEvent.js';
import Headers from '../fetch/Headers.js';
import XMLHttpRequestImplementation from '../xml-http-request/XMLHttpRequest.js';
import DocumentReadyStateManager from '../nodes/document/DocumentReadyStateManager.js';
import IBrowserFrame from '../browser/types/IBrowserFrame.js';
import HTMLAnchorElement from '../nodes/html-anchor-element/HTMLAnchorElement.js';
import HTMLButtonElement from '../nodes/html-button-element/HTMLButtonElement.js';
import HTMLOptionElement from '../nodes/html-option-element/HTMLOptionElement.js';
import HTMLOptGroupElement from '../nodes/html-opt-group-element/HTMLOptGroupElement.js';
import IResponseBody from '../fetch/types/IResponseBody.js';
import IResponseInit from '../fetch/types/IResponseInit.js';
import IRequestInfo from '../fetch/types/IRequestInfo.js';
import IBrowserWindow from './IBrowserWindow.js';
import AudioImplementation from '../nodes/html-audio-element/Audio.js';
import ImageImplementation from '../nodes/html-image-element/Image.js';
import DocumentFragmentImplementation from '../nodes/document-fragment/DocumentFragment.js';
import DOMParserImplementation from '../dom-parser/DOMParser.js';
import FileReaderImplementation from '../file/FileReader.js';
import RequestImplementation from '../fetch/Request.js';
import ResponseImplementation from '../fetch/Response.js';
import RangeImplementation from '../range/Range.js';
/**
* Browser window.
*
* Reference:
* https://developer.mozilla.org/en-US/docs/Web/API/Window.
*/
export default class BrowserWindow extends EventTarget implements IBrowserWindow {
#private;
readonly Node: typeof Node;
readonly Attr: typeof Attr;
readonly SVGSVGElement: typeof SVGSVGElement;
readonly SVGElement: typeof SVGElement;
readonly SVGGraphicsElement: typeof SVGGraphicsElement;
readonly Text: typeof Text;
readonly Comment: typeof Comment;
readonly ShadowRoot: typeof ShadowRoot;
readonly ProcessingInstruction: typeof ProcessingInstruction;
readonly Element: typeof Element;
readonly CharacterData: typeof CharacterData;
readonly DocumentType: typeof DocumentType;
readonly Document: new () => DocumentImplementation;
readonly HTMLDocument: new () => HTMLDocumentImplementation;
readonly XMLDocument: new () => XMLDocumentImplementation;
readonly SVGDocument: new () => SVGDocumentImplementation;
readonly HTMLAnchorElement: typeof HTMLAnchorElement;
readonly HTMLButtonElement: typeof HTMLButtonElement;
readonly HTMLOptGroupElement: typeof HTMLOptGroupElement;
readonly HTMLOptionElement: typeof HTMLOptionElement;
readonly HTMLElement: typeof HTMLElement;
readonly HTMLUnknownElement: typeof HTMLUnknownElement;
readonly HTMLTemplateElement: typeof HTMLTemplateElement;
readonly HTMLFormElement: typeof HTMLFormElement;
readonly HTMLInputElement: typeof HTMLInputElement;
readonly HTMLSelectElement: typeof HTMLSelectElement;
readonly HTMLTextAreaElement: typeof HTMLTextAreaElement;
readonly HTMLImageElement: typeof HTMLImageElement;
readonly HTMLStyleElement: typeof HTMLStyleElement;
readonly HTMLLabelElement: typeof HTMLLabelElement;
readonly HTMLSlotElement: typeof HTMLSlotElement;
readonly HTMLMetaElement: typeof HTMLMetaElement;
readonly HTMLMediaElement: typeof HTMLMediaElement;
readonly HTMLAudioElement: typeof HTMLAudioElement;
readonly HTMLVideoElement: typeof HTMLVideoElement;
readonly HTMLBaseElement: typeof HTMLBaseElement;
readonly HTMLDialogElement: typeof HTMLDialogElement;
readonly HTMLScriptElement: typeof HTMLScriptElementImplementation;
readonly HTMLLinkElement: typeof HTMLLinkElementImplementation;
readonly HTMLIFrameElement: typeof HTMLIFrameElementImplementation;
readonly HTMLHeadElement: typeof HTMLElement;
readonly HTMLTitleElement: typeof HTMLElement;
readonly HTMLBodyElement: typeof HTMLElement;
readonly HTMLHeadingElement: typeof HTMLElement;
readonly HTMLParagraphElement: typeof HTMLElement;
readonly HTMLHRElement: typeof HTMLElement;
readonly HTMLPreElement: typeof HTMLElement;
readonly HTMLUListElement: typeof HTMLElement;
readonly HTMLOListElement: typeof HTMLElement;
readonly HTMLLIElement: typeof HTMLElement;
readonly HTMLMenuElement: typeof HTMLElement;
readonly HTMLDListElement: typeof HTMLElement;
readonly HTMLDivElement: typeof HTMLElement;
readonly HTMLAreaElement: typeof HTMLElement;
readonly HTMLBRElement: typeof HTMLElement;
readonly HTMLCanvasElement: typeof HTMLElement;
readonly HTMLDataElement: typeof HTMLElement;
readonly HTMLDataListElement: typeof HTMLElement;
readonly HTMLDetailsElement: typeof HTMLElement;
readonly HTMLDirectoryElement: typeof HTMLElement;
readonly HTMLFieldSetElement: typeof HTMLElement;
readonly HTMLFontElement: typeof HTMLElement;
readonly HTMLHtmlElement: typeof HTMLElement;
readonly HTMLLegendElement: typeof HTMLElement;
readonly HTMLMapElement: typeof HTMLElement;
readonly HTMLMarqueeElement: typeof HTMLElement;
readonly HTMLMeterElement: typeof HTMLElement;
readonly HTMLModElement: typeof HTMLElement;
readonly HTMLOutputElement: typeof HTMLElement;
readonly HTMLPictureElement: typeof HTMLElement;
readonly HTMLProgressElement: typeof HTMLElement;
readonly HTMLQuoteElement: typeof HTMLElement;
readonly HTMLSourceElement: typeof HTMLElement;
readonly HTMLSpanElement: typeof HTMLElement;
readonly HTMLTableCaptionElement: typeof HTMLElement;
readonly HTMLTableCellElement: typeof HTMLElement;
readonly HTMLTableColElement: typeof HTMLElement;
readonly HTMLTableElement: typeof HTMLElement;
readonly HTMLTimeElement: typeof HTMLElement;
readonly HTMLTableRowElement: typeof HTMLElement;
readonly HTMLTableSectionElement: typeof HTMLElement;
readonly HTMLFrameElement: typeof HTMLElement;
readonly HTMLFrameSetElement: typeof HTMLElement;
readonly HTMLEmbedElement: typeof HTMLElement;
readonly HTMLObjectElement: typeof HTMLElement;
readonly HTMLParamElement: typeof HTMLElement;
readonly HTMLTrackElement: typeof HTMLElement;
readonly Event: typeof Event;
readonly UIEvent: typeof UIEvent;
readonly CustomEvent: typeof CustomEvent;
readonly AnimationEvent: typeof AnimationEvent;
readonly KeyboardEvent: typeof KeyboardEvent;
readonly MessageEvent: typeof MessageEvent;
readonly MouseEvent: typeof MouseEvent;
readonly PointerEvent: typeof PointerEvent;
readonly FocusEvent: typeof FocusEvent;
readonly WheelEvent: typeof WheelEvent;
readonly InputEvent: typeof InputEvent;
readonly ErrorEvent: typeof ErrorEvent;
readonly StorageEvent: typeof StorageEvent;
readonly SubmitEvent: typeof SubmitEvent;
readonly ProgressEvent: typeof ProgressEvent;
readonly MediaQueryListEvent: typeof MediaQueryListEvent;
readonly ClipboardEvent: typeof ClipboardEvent;
readonly TouchEvent: typeof TouchEvent;
readonly Touch: typeof Touch;
readonly AudioProcessingEvent: typeof Event;
readonly BeforeInputEvent: typeof Event;
readonly BeforeUnloadEvent: typeof Event;
readonly BlobEvent: typeof Event;
readonly CloseEvent: typeof Event;
readonly CompositionEvent: typeof Event;
readonly CSSFontFaceLoadEvent: typeof Event;
readonly DeviceLightEvent: typeof Event;
readonly DeviceMotionEvent: typeof Event;
readonly DeviceOrientationEvent: typeof Event;
readonly DeviceProximityEvent: typeof Event;
readonly DOMTransactionEvent: typeof Event;
readonly DragEvent: typeof Event;
readonly EditingBeforeInputEvent: typeof Event;
readonly FetchEvent: typeof Event;
readonly GamepadEvent: typeof Event;
readonly HashChangeEvent: typeof Event;
readonly IDBVersionChangeEvent: typeof Event;
readonly MediaStreamEvent: typeof Event;
readonly MutationEvent: typeof Event;
readonly OfflineAudioCompletionEvent: typeof Event;
readonly OverconstrainedError: typeof Event;
readonly PageTransitionEvent: typeof Event;
readonly PaymentRequestUpdateEvent: typeof Event;
readonly PopStateEvent: typeof Event;
readonly RelatedEvent: typeof Event;
readonly RTCDataChannelEvent: typeof Event;
readonly RTCIdentityErrorEvent: typeof Event;
readonly RTCIdentityEvent: typeof Event;
readonly RTCPeerConnectionIceEvent: typeof Event;
readonly SensorEvent: typeof Event;
readonly SVGEvent: typeof Event;
readonly SVGZoomEvent: typeof Event;
readonly TimeEvent: typeof Event;
readonly TrackEvent: typeof Event;
readonly TransitionEvent: typeof Event;
readonly UserProximityEvent: typeof Event;
readonly WebGLContextEvent: typeof Event;
readonly TextEvent: typeof Event;
readonly NamedNodeMap: typeof NamedNodeMap;
readonly NodeFilter: {
FILTER_ACCEPT: number;
FILTER_REJECT: number;
FILTER_SKIP: number;
SHOW_ALL: number;
SHOW_ELEMENT: number;
SHOW_ATTRIBUTE: number;
SHOW_TEXT: number;
SHOW_CDATA_SECTION: number;
SHOW_ENTITY_REFERENCE: number;
SHOW_ENTITY: number;
SHOW_PROCESSING_INSTRUCTION: number;
SHOW_COMMENT: number;
SHOW_DOCUMENT: number;
SHOW_DOCUMENT_TYPE: number;
SHOW_DOCUMENT_FRAGMENT: number;
SHOW_NOTATION: number;
};
readonly NodeIterator: typeof NodeIterator;
readonly TreeWalker: typeof TreeWalker;
readonly MutationObserver: typeof MutationObserver;
readonly MutationRecord: typeof MutationRecord;
readonly CSSStyleDeclaration: typeof CSSStyleDeclaration;
readonly EventTarget: typeof EventTarget;
readonly MessagePort: typeof MessagePort;
readonly DataTransfer: typeof DataTransfer;
readonly DataTransferItem: typeof DataTransferItem;
readonly DataTransferItemList: typeof DataTransferItemList;
readonly URL: typeof URL;
readonly Location: typeof Location;
readonly CustomElementRegistry: typeof CustomElementRegistry;
readonly Window: typeof BrowserWindow;
readonly XMLSerializer: typeof XMLSerializer;
readonly ResizeObserver: typeof ResizeObserver;
readonly CSSStyleSheet: typeof CSSStyleSheet;
readonly Blob: typeof Blob;
readonly File: typeof File;
readonly DOMException: typeof DOMException;
readonly History: typeof History;
readonly Screen: typeof Screen;
readonly Storage: typeof Storage;
readonly URLSearchParams: typeof URLSearchParams;
readonly HTMLCollection: typeof HTMLCollection;
readonly HTMLFormControlsCollection: typeof HTMLFormControlsCollection;
readonly NodeList: typeof NodeList;
readonly CSSUnitValue: typeof CSSUnitValue;
readonly CSSRule: typeof CSSRule;
readonly CSSContainerRule: typeof CSSContainerRule;
readonly CSSFontFaceRule: typeof CSSFontFaceRule;
readonly CSSKeyframeRule: typeof CSSKeyframeRule;
readonly CSSKeyframesRule: typeof CSSKeyframesRule;
readonly CSSMediaRule: typeof CSSMediaRule;
readonly CSSStyleRule: typeof CSSStyleRule;
readonly CSSSupportsRule: typeof CSSSupportsRule;
readonly Selection: typeof Selection;
readonly Navigator: typeof Navigator;
readonly MimeType: typeof MimeType;
readonly MimeTypeArray: typeof MimeTypeArray;
readonly Plugin: typeof Plugin;
readonly PluginArray: typeof PluginArray;
readonly FileList: typeof FileList;
readonly DOMRect: typeof DOMRect;
readonly RadioNodeList: typeof RadioNodeList;
readonly ValidityState: typeof ValidityState;
readonly Headers: typeof Headers;
readonly Request: new (input: IRequestInfo, init?: IRequestInit) => RequestImplementation;
readonly Response: {
redirect: (url: string, status?: number) => ResponseImplementation;
error: () => ResponseImplementation;
json: (data: object, init?: IResponseInit) => ResponseImplementation;
new (body?: IResponseBody, init?: IResponseInit): ResponseImplementation;
};
readonly XMLHttpRequestUpload: typeof XMLHttpRequestUpload;
readonly XMLHttpRequestEventTarget: typeof XMLHttpRequestEventTarget;
readonly ReadableStream: {
new (underlyingSource: import("stream/web").UnderlyingByteSource, strategy?: import("stream/web").QueuingStrategy): ReadableStream;
new (underlyingSource?: import("stream/web").UnderlyingSource, strategy?: import("stream/web").QueuingStrategy): ReadableStream;
prototype: ReadableStream;
};
readonly WritableStream: typeof Stream.Writable;
readonly TransformStream: typeof Stream.Transform;
readonly AbortController: typeof AbortController;
readonly AbortSignal: typeof AbortSignal;
readonly FormData: typeof FormData;
readonly Permissions: typeof Permissions;
readonly PermissionStatus: typeof PermissionStatus;
readonly Clipboard: typeof Clipboard;
readonly ClipboardItem: typeof ClipboardItem;
readonly XMLHttpRequest: new () => XMLHttpRequestImplementation;
readonly DOMParser: new () => DOMParserImplementation;
readonly Range: new () => RangeImplementation;
readonly FileReader: new () => FileReaderImplementation;
readonly Image: typeof ImageImplementation;
readonly DocumentFragment: typeof DocumentFragmentImplementation;
readonly Audio: typeof AudioImplementation;
onload: ((event: Event) => void) | null;
onerror: ((event: ErrorEvent) => void) | null;
readonly document: DocumentImplementation;
readonly customElements: CustomElementRegistry;
readonly location: Location;
readonly history: History;
readonly navigator: Navigator;
readonly console: Console;
readonly self: IBrowserWindow;
readonly top: IBrowserWindow;
readonly parent: IBrowserWindow;
readonly window: IBrowserWindow;
readonly globalThis: IBrowserWindow;
readonly screen: Screen;
readonly sessionStorage: Storage;
readonly localStorage: Storage;
readonly performance: typeof performance;
readonly screenLeft: number;
readonly screenTop: number;
readonly screenX: number;
readonly screenY: number;
readonly crypto: typeof webcrypto;
readonly closed = false;
name: string;
Array: typeof Array;
ArrayBuffer: typeof ArrayBuffer;
Boolean: typeof Boolean;
Buffer: typeof Buffer;
DataView: typeof DataView;
Date: typeof Date;
Error: typeof Error;
EvalError: typeof EvalError;
Float32Array: typeof Float32Array;
Float64Array: typeof Float64Array;
Function: typeof Function;
Infinity: typeof Infinity;
Int16Array: typeof Int16Array;
Int32Array: typeof Int32Array;
Int8Array: typeof Int8Array;
Intl: typeof Intl;
JSON: typeof JSON;
Map: MapConstructor;
Math: typeof Math;
NaN: typeof NaN;
Number: typeof Number;
Object: typeof Object;
Promise: typeof Promise;
RangeError: typeof RangeError;
ReferenceError: typeof ReferenceError;
RegExp: typeof RegExp;
Set: SetConstructor;
String: typeof String;
Symbol: Function;
SyntaxError: typeof SyntaxError;
TypeError: typeof TypeError;
URIError: typeof URIError;
Uint16Array: typeof Uint16Array;
Uint32Array: typeof Uint32Array;
Uint8Array: typeof Uint8Array;
Uint8ClampedArray: typeof Uint8ClampedArray;
WeakMap: WeakMapConstructor;
WeakSet: WeakSetConstructor;
decodeURI: typeof decodeURI;
decodeURIComponent: typeof decodeURIComponent;
encodeURI: typeof encodeURI;
encodeURIComponent: typeof encodeURIComponent;
eval: typeof eval;
/**
* @deprecated
*/
escape: (str: string) => string;
global: typeof globalThis;
isFinite: typeof isFinite;
isNaN: typeof isNaN;
parseFloat: typeof parseFloat;
parseInt: typeof parseInt;
undefined: typeof undefined;
/**
* @deprecated
*/
unescape: (str: string) => string;
gc: () => void;
v8debug?: unknown;
[PropertySymbol.captureEventListenerCount]: {
[eventType: string]: number;
};
readonly [PropertySymbol.mutationObservers]: MutationObserver[];
readonly [PropertySymbol.readyStateManager]: DocumentReadyStateManager;
/**
* Constructor.
*
* @param browserFrame Browser frame.
* @param [options] Options.
* @param [options.url] URL.
*/
constructor(browserFrame: IBrowserFrame, options?: {
url?: string;
});
/**
* Returns opener.
*
* @returns Opener.
*/
get opener(): IBrowserWindow | ICrossOriginBrowserWindow | null;
/**
* The number of pixels that the document is currently scrolled horizontally.
*
* @returns Scroll X.
*/
get scrollX(): number;
/**
* The read-only Window property pageXOffset is an alias for scrollX.
*
* @returns Scroll X.
*/
get pageXOffset(): number;
/**
* The number of pixels that the document is currently scrolled vertically.
*
* @returns Scroll Y.
*/
get scrollY(): number;
/**
* The read-only Window property pageYOffset is an alias for scrollY.
*
* @returns Scroll Y.
*/
get pageYOffset(): number;
/**
* The CSS interface holds useful CSS-related methods.
*
* @returns CSS interface.
*/
get CSS(): CSS;
/**
* Returns inner width.
*
* @returns Inner width.
*/
get innerWidth(): number;
/**
* Sets inner width.
*
* @param value Inner width.
*/
set innerWidth(value: number);
/**
* Returns inner height.
*
* @returns Inner height.
*/
get innerHeight(): number;
/**
* Sets inner height.
*
* @param value Inner height.
*/
set innerHeight(value: number);
/**
* Returns outer width.
*
* @returns Outer width.
*/
get outerWidth(): number;
/**
* Sets outer width.
*
* @param value Outer width.
*/
set outerWidth(value: number);
/**
* Returns outer height.
*
* @returns Outer height.
*/
get outerHeight(): number;
/**
* Sets outer height.
*
* @param value Outer height.
*/
set outerHeight(value: number);
/**
* Returns device pixel ratio.
*
* @returns Device pixel ratio.
*/
get devicePixelRatio(): number;
/**
* Sets device pixel ratio.
*
* @param value Device pixel ratio.
*/
set devicePixelRatio(value: number);
/**
* Returns an object containing the values of all CSS properties of an element.
*
* @param element Element.
* @returns CSS style declaration.
*/
getComputedStyle(element: IElement): CSSStyleDeclaration;
/**
* Returns selection.
*
* @returns Selection.
*/
getSelection(): Selection;
/**
* Scrolls to a particular set of coordinates.
*
* @param x X position or options object.
* @param y Y position.
*/
scroll(x: {
top?: number;
left?: number;
behavior?: string;
} | number, y?: number): void;
/**
* Scrolls to a particular set of coordinates.
*
* @param x X position or options object.
* @param y Y position.
*/
scrollTo(x: {
top?: number;
left?: number;
behavior?: string;
} | number, y?: number): void;
/**
* Shifts focus away from the window.
*/
blur(): void;
/**
* Gives focus to the window.
*/
focus(): void;
/**
* Loads a specified resource into a new or existing browsing context (that is, a tab, a window, or an iframe) under a specified name.
*
* @param [url] URL.
* @param [target] Target.
* @param [features] Window features.
* @returns Window.
*/
open(url?: string, target?: string, features?: string): IBrowserWindow | ICrossOriginBrowserWindow | null;
/**
* Closes the window.
*/
close(): void;
/**
* Returns a new MediaQueryList object that can then be used to determine if the document matches the media query string.
*
* @param mediaQueryString A string specifying the media query to parse into a MediaQueryList.
* @returns A new MediaQueryList.
*/
matchMedia(mediaQueryString: string): MediaQueryList;
/**
* Sets a timer which executes a function once the timer expires.
*
* @param callback Function to be executed.
* @param [delay=0] Delay in ms.
* @param args Arguments passed to the callback function.
* @returns Timeout ID.
*/
setTimeout(callback: Function, delay?: number, ...args: unknown[]): NodeJS.Timeout;
/**
* Cancels a timeout previously established by calling setTimeout().
*
* @param id ID of the timeout.
*/
clearTimeout(id: NodeJS.Timeout): void;
/**
* Calls a function with a fixed time delay between each call.
*
* @param callback Function to be executed.
* @param [delay=0] Delay in ms.
* @param args Arguments passed to the callback function.
* @returns Interval ID.
*/
setInterval(callback: Function, delay?: number, ...args: unknown[]): NodeJS.Timeout;
/**
* Cancels a timed repeating action which was previously established by a call to setInterval().
*
* @param id ID of the interval.
*/
clearInterval(id: NodeJS.Timeout): void;
/**
* Mock animation frames with timeouts.
*
* @param callback Callback.
* @returns ID.
*/
requestAnimationFrame(callback: (timestamp: number) => void): NodeJS.Immediate;
/**
* Mock animation frames with timeouts.
*
* @param id ID.
*/
cancelAnimationFrame(id: NodeJS.Immediate): void;
/**
* Queues a microtask to be executed at a safe time prior to control returning to the browser's event loop.
*
* @param callback Function to be executed.
*/
queueMicrotask(callback: Function): void;
/**
* This method provides an easy, logical way to fetch resources asynchronously across the network.
*
* @param url URL.
* @param [init] Init.
* @returns Promise.
*/
fetch(url: RequestInfo, init?: IRequestInit): Promise;
/**
* Creates a Base64-encoded ASCII string from a binary string (i.e., a string in which each character in the string is treated as a byte of binary data).
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/btoa
* @param data Binay data.
* @returns Base64-encoded string.
*/
btoa(data: unknown): string;
/**
* Decodes a string of data which has been encoded using Base64 encoding.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/atob
* @see https://infra.spec.whatwg.org/#forgiving-base64-encode.
* @see Https://html.spec.whatwg.org/multipage/webappapis.html#btoa.
* @param data Binay string.
* @returns An ASCII string containing decoded data from encodedData.
*/
atob(data: unknown): string;
/**
* Safely enables cross-origin communication between Window objects; e.g., between a page and a pop-up that it spawned, or between a page and an iframe embedded within it.
*
* @param message Message.
* @param [targetOrigin=*] Target origin.
* @param _transfer Transfer. Not implemented.
*/
postMessage(message: unknown, targetOrigin?: string, _transfer?: unknown[]): void;
/**
* Resizes the window.
*
* @param width Width.
* @param height Height.
*/
resizeTo(width: number, height: number): void;
/**
* Resizes the current window by a specified amount.
*
* @param width Width.
* @param height Height.
*/
resizeBy(width: number, height: number): void;
/**
* Setup of VM context.
*/
protected [PropertySymbol.setupVMContext](): void;
/**
* Destroys the window.
*/
[PropertySymbol.destroy](): void;
}
//# sourceMappingURL=BrowserWindow.d.ts.map