///
import { ISuperNode, ISuperElement, ISuperDocument, ISuperHTMLCollection, ISuperHTMLElement, ISuperNodeList, ISuperStyleSheet, ISuperText } from './super';
import { INodeIsolate } from './isolate';
export declare type ICanPlayTypeResult = '' | 'maybe' | 'probably';
export declare type IDocumentReadyState = 'complete' | 'interactive' | 'loading';
export declare type IEndingType = 'native' | 'transparent';
export declare type IFullscreenNavigationUI = 'auto' | 'hide' | 'show';
export declare type IReferrerPolicy = '' | 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url';
export declare type IRequestCache = 'default' | 'force-cache' | 'no-cache' | 'no-store' | 'only-if-cached' | 'reload';
export declare type IRequestCredentials = 'include' | 'omit' | 'same-origin';
export declare type IRequestDestination = '' | 'audio' | 'audioworklet' | 'document' | 'embed' | 'font' | 'frame' | 'iframe' | 'image' | 'manifest' | 'object' | 'paintworklet' | 'report' | 'script' | 'sharedworker' | 'style' | 'track' | 'video' | 'worker' | 'xslt';
export declare type IRequestMode = 'cors' | 'navigate' | 'no-cors' | 'same-origin';
export declare type IRequestRedirect = 'error' | 'follow' | 'manual';
export declare type IResponseType = 'basic' | 'cors' | 'default' | 'error' | 'opaque' | 'opaqueredirect';
export declare type IScrollBehavior = 'auto' | 'smooth';
export declare type IScrollLogicalPosition = 'center' | 'end' | 'nearest' | 'start';
export declare type ISelectionMode = 'end' | 'preserve' | 'select' | 'start';
export declare type IShadowRootMode = 'closed' | 'open';
export declare type ISupportedType = 'application/xhtml+xml' | 'application/xml' | 'image/svg+xml' | 'text/html' | 'text/xml';
export declare type IVisibilityState = 'hidden' | 'prerender' | 'visible';
export declare type IBufferSource = ArrayBufferView | ArrayBuffer;
export declare type IBlobPart = IBufferSource | IBlob | string;
export declare type IHeadersInit = Iterable> | Record;
export declare type IBodyInit = IBufferSource | string;
export declare type IRequestInfo = IRequest | string;
export interface IAssignedNodesOptions {
flatten?: boolean;
}
export interface IBlobPropertyBag {
endings?: IEndingType;
type?: string;
}
export interface IFilePropertyBag extends IBlobPropertyBag {
lastModified?: number;
}
export interface IFullscreenOptions {
navigationUI?: IFullscreenNavigationUI;
}
export interface IGetRootNodeOptions {
composed?: boolean;
}
export interface IImageEncodeOptions {
quality?: number;
type?: string;
}
export interface IRequestInit {
body?: IBodyInit | null;
cache?: IRequestCache;
credentials?: IRequestCredentials;
headers?: IHeadersInit;
integrity?: string;
keepalive?: boolean;
method?: string;
mode?: IRequestMode;
redirect?: IRequestRedirect;
referrer?: string;
referrerPolicy?: IReferrerPolicy;
window?: any;
}
export interface IResponseInit {
headers?: IHeadersInit;
status?: number;
statusText?: string;
}
export interface IScrollIntoViewOptions extends IScrollOptions {
block?: IScrollLogicalPosition;
inline?: IScrollLogicalPosition;
}
export interface IScrollOptions {
behavior?: IScrollBehavior;
}
export declare type IXPathNSResolver = ((prefix: string | null) => string | null) | {
lookupNamespaceURI(prefix: string | null): string | null;
};
export interface IAbstractRange {
readonly collapsed: Promise;
readonly endContainer: ISuperNode;
readonly endOffset: Promise;
readonly startContainer: ISuperNode;
readonly startOffset: Promise;
}
export interface IAttr extends INode {
readonly localName: Promise;
readonly name: Promise;
readonly namespaceURI: Promise;
readonly ownerElement: ISuperElement;
readonly prefix: Promise;
readonly specified: Promise;
readonly value: Promise;
}
export interface IAudioTrack {
readonly enabled: Promise;
readonly id: Promise;
readonly kind: Promise;
readonly label: Promise;
readonly language: Promise;
}
export interface IAudioTrackList {
readonly length: Promise;
getTrackById(id: string): IAudioTrack;
[Symbol.iterator](): Iterator;
}
export interface IBlob {
readonly size: Promise;
readonly type: Promise;
arrayBuffer(): Promise;
slice(start?: number, end?: number, contentType?: string): Promise;
text(): Promise;
}
export interface IBody {
readonly bodyUsed: Promise;
arrayBuffer(): Promise;
json(): Promise;
text(): Promise;
}
export interface ICSSRule {
readonly CHARSET_RULE: number;
readonly FONT_FACE_RULE: number;
readonly IMPORT_RULE: number;
readonly MARGIN_RULE: number;
readonly MEDIA_RULE: number;
readonly NAMESPACE_RULE: number;
readonly PAGE_RULE: number;
readonly STYLE_RULE: number;
readonly cssText: Promise;
readonly parentRule: ICSSRule;
readonly parentStyleSheet: ICSSStyleSheet;
readonly type: Promise;
}
export interface ICSSRuleList {
readonly length: Promise;
item(index: number): ICSSRule;
[Symbol.iterator](): Iterator;
[index: number]: ICSSRule;
}
export interface ICSSStyleDeclaration {
readonly cssFloat: Promise;
readonly cssText: Promise;
readonly length: Promise;
readonly parentRule: ICSSRule;
getPropertyPriority(property: string): Promise;
getPropertyValue(property: string): Promise;
item(index: number): Promise;
removeProperty(property: string): Promise;
setProperty(property: string, value: string, priority?: string): Promise;
[Symbol.iterator](): Iterator;
[index: number]: string;
}
export interface ICSSStyleSheet extends IStyleSheet {
readonly cssRules: ICSSRuleList;
readonly ownerRule: ICSSRule;
deleteRule(index: number): Promise;
insertRule(rule: string, index?: number): Promise;
}
export interface ICaretPosition {
readonly offset: Promise;
readonly offsetNode: ISuperNode;
getClientRect(): IDOMRect;
}
export interface ICharacterData extends INode, INode, INonDocumentTypeChildNode {
readonly data: Promise;
readonly length: Promise;
substringData(offset: number, count: number): Promise;
}
export interface IDOMImplementation {
hasFeature(): Promise;
}
export interface IDOMParser {
parseFromString(str: string, type: ISupportedType): ISuperDocument;
}
export interface IDOMRect extends IDOMRectReadOnly {
readonly height: Promise;
readonly width: Promise;
readonly x: Promise;
readonly y: Promise;
}
export interface IDOMRectList {
readonly length: Promise;
item(index: number): IDOMRect;
[Symbol.iterator](): Iterator;
[index: number]: IDOMRect;
}
export interface IDOMRectReadOnly {
readonly bottom: Promise;
readonly height: Promise;
readonly left: Promise;
readonly right: Promise;
readonly top: Promise;
readonly width: Promise;
readonly x: Promise;
readonly y: Promise;
toJSON(): Promise;
}
export interface IDOMTokenList {
readonly length: Promise;
readonly value: Promise;
add(...tokens: string[]): Promise;
contains(token: string): Promise;
item(index: number): Promise;
remove(...tokens: string[]): Promise;
replace(token: string, newToken: string): Promise;
supports(token: string): Promise;
toString(): Promise;
toggle(token: string, force?: boolean): Promise;
forEach(callbackfn: (value: string, key: number, parent: IDOMTokenList) => void, thisArg?: any): Promise;
entries(): Promise>;
keys(): Promise>;
values(): Promise>;
[Symbol.iterator](): Iterator;
[index: number]: string;
}
export interface IDocument extends INode, IDocumentOrShadowRoot, INode, INonElementParentNode, IParentNode, IXPathEvaluatorBase {
readonly URL: Promise;
readonly anchors: ISuperHTMLCollection;
readonly body: ISuperHTMLElement;
readonly characterSet: Promise;
readonly compatMode: Promise;
readonly contentType: Promise;
readonly cookie: Promise;
readonly designMode: Promise;
readonly dir: Promise;
readonly doctype: IDocumentType;
readonly documentElement: ISuperElement;
readonly documentURI: Promise;
readonly domain: Promise;
readonly embeds: ISuperHTMLCollection;
readonly featurePolicy: IFeaturePolicy;
readonly forms: ISuperHTMLCollection;
readonly fullscreenEnabled: Promise;
readonly head: IHTMLHeadElement;
readonly hidden: Promise;
readonly images: ISuperHTMLCollection;
readonly implementation: IDOMImplementation;
readonly lastModified: Promise;
readonly links: ISuperHTMLCollection;
readonly location: ILocation;
readonly plugins: ISuperHTMLCollection;
readonly readyState: Promise;
readonly referrer: Promise;
readonly scripts: ISuperHTMLCollection;
readonly scrollingElement: ISuperElement;
readonly title: Promise;
readonly visibilityState: Promise;
exitFullscreen(): Promise;
exitPointerLock(): Promise;
getElementsByClassName(classNames: string): ISuperHTMLCollection;
getElementsByName(elementName: string): ISuperNodeList;
getElementsByTagName(qualifiedName: string): ISuperHTMLCollection;
getElementsByTagNameNS(namespace: string | null, localName: string): ISuperHTMLCollection;
hasFocus(): Promise;
}
export interface IDocumentFragment extends INode, INode, INonElementParentNode, IParentNode {
}
export interface IDocumentOrShadowRoot {
readonly activeElement: ISuperElement;
readonly fullscreenElement: ISuperElement;
readonly pointerLockElement: ISuperElement;
caretPositionFromPoint(x: number, y: number): ICaretPosition;
elementFromPoint(x: number, y: number): ISuperElement;
getSelection(): ISelection;
}
export interface IDocumentType extends INode, INode {
readonly name: Promise;
readonly publicId: Promise;
readonly systemId: Promise;
}
export interface IElement extends INode, INode, INonDocumentTypeChildNode, IParentNode, ISlotable {
readonly attributes: INamedNodeMap;
readonly classList: IDOMTokenList;
readonly className: Promise;
readonly clientHeight: Promise;
readonly clientLeft: Promise;
readonly clientTop: Promise;
readonly clientWidth: Promise;
readonly id: Promise;
readonly innerHTML: Promise;
readonly localName: Promise;
readonly namespaceURI: Promise;
readonly outerHTML: Promise;
readonly part: IDOMTokenList;
readonly prefix: Promise;
readonly scrollHeight: Promise;
readonly scrollLeft: Promise;
readonly scrollTop: Promise;
readonly scrollWidth: Promise;
readonly shadowRoot: IShadowRoot;
readonly slot: Promise;
readonly tagName: Promise;
closest(selectors: string): ISuperElement;
getAttribute(qualifiedName: string): Promise;
getAttributeNS(namespace: string | null, localName: string): Promise;
getAttributeNames(): Promise>;
getAttributeNode(qualifiedName: string): Promise;
getAttributeNodeNS(namespace: string | null, localName: string): Promise;
getBoundingClientRect(): Promise;
getClientRects(): Promise;
getElementsByClassName(classNames: string): ISuperHTMLCollection;
getElementsByTagName(qualifiedName: string): ISuperHTMLCollection;
getElementsByTagNameNS(namespace: string | null, localName: string): ISuperHTMLCollection;
hasAttribute(qualifiedName: string): Promise;
hasAttributeNS(namespace: string | null, localName: string): Promise;
hasAttributes(): Promise;
hasPointerCapture(pointerId: number): Promise;
matches(selectors: string): Promise;
requestFullscreen(options?: IFullscreenOptions): Promise;
requestPointerLock(): Promise;
scrollIntoView(arg?: boolean | IScrollIntoViewOptions): Promise;
}
export interface IElementCSSInlineStyle {
readonly style: ICSSStyleDeclaration;
}
export interface IElementContentEditable {
readonly contentEditable: Promise;
readonly isContentEditable: Promise;
}
export interface IFeaturePolicy {
}
export interface IFile extends IBlob {
readonly lastModified: Promise;
readonly name: Promise;
}
export interface IFileList {
readonly length: Promise;
item(index: number): IFile;
[Symbol.iterator](): Iterator;
[index: number]: IFile;
}
export interface IHTMLCollection extends IHTMLCollectionBase {
namedItem(name: string): ISuperElement;
[index: number]: ISuperElement;
}
export interface IHTMLCollectionBase {
readonly length: Promise;
item(index: number): ISuperElement;
[Symbol.iterator](): Iterator;
[index: number]: ISuperElement;
}
export interface IHTMLDocument extends IDocument {
}
export interface IHTMLFormControlsCollection extends IHTMLCollectionBase {
namedItem(name: string): Promise;
[index: number]: ISuperElement;
}
export interface IHTMLHyperlinkElementUtils {
readonly hash: Promise;
readonly host: Promise | ISuperElement;
readonly hostname: Promise;
readonly href: Promise;
readonly origin: Promise;
readonly password: Promise;
readonly pathname: Promise;
readonly port: Promise;
readonly protocol: Promise;
readonly search: Promise;
readonly username: Promise;
toString(): Promise;
}
export interface IHTMLMediaElement extends IHTMLElement {
readonly HAVE_CURRENT_DATA: number;
readonly HAVE_ENOUGH_DATA: number;
readonly HAVE_FUTURE_DATA: number;
readonly HAVE_METADATA: number;
readonly HAVE_NOTHING: number;
readonly NETWORK_EMPTY: number;
readonly NETWORK_IDLE: number;
readonly NETWORK_LOADING: number;
readonly NETWORK_NO_SOURCE: number;
readonly audioTracks: IAudioTrackList;
readonly autoplay: Promise;
readonly buffered: ITimeRanges;
readonly controls: Promise;
readonly controlsList: IDOMTokenList;
readonly crossOrigin: Promise;
readonly currentSrc: Promise;
readonly currentTime: Promise;
readonly defaultMuted: Promise;
readonly defaultPlaybackRate: Promise;
readonly disableRemotePlayback: Promise;
readonly duration: Promise;
readonly ended: Promise;
readonly error: IMediaError;
readonly loop: Promise;
readonly mediaKeys: IMediaKeys;
readonly muted: Promise;
readonly networkState: Promise;
readonly playbackRate: Promise;
readonly played: ITimeRanges;
readonly preload: Promise;
readonly readyState: Promise;
readonly seekable: ITimeRanges;
readonly seeking: Promise;
readonly sinkId: Promise;
readonly src: Promise;
readonly textTracks: ITextTrackList;
readonly videoTracks: IVideoTrackList;
readonly volume: Promise;
canPlayType(type: string): Promise;
captureStream(): IMediaStream;
load(): Promise;
pause(): Promise;
play(): Promise;
setSinkId(sinkId: string): Promise;
}
export interface IHTMLOptionsCollection extends IHTMLCollection {
}
export interface IHTMLOrSVGElement {
readonly dataset: Promise>;
readonly nonce: Promise;
readonly tabIndex: Promise;
blur(): Promise;
focus(): Promise;
}
export interface IHeaders {
append(name: string, value: string): Promise;
delete(name: string): Promise;
get(name: string): Promise;
has(name: string): Promise;
set(name: string, value: string): Promise;
forEach(callbackfn: (value: string, key: string, parent: IHeaders) => void, thisArg?: any): Promise;
entries(): Promise>;
keys(): Promise>;
values(): Promise>;
[Symbol.iterator](): Iterator<[string, string]>;
}
export interface IImageBitmap {
readonly height: Promise;
readonly width: Promise;
close(): Promise;
}
export interface ILinkStyle {
readonly sheet: ISuperStyleSheet;
}
export interface ILocation {
hash: Promise | any;
host: Promise | any;
hostname: Promise | any;
href: Promise | any;
readonly origin: Promise;
pathname: Promise | any;
port: Promise | any;
protocol: Promise | any;
search: Promise | any;
assign(url: string): Promise;
reload(): Promise;
replace(url: string): Promise;
toString(): Promise;
}
export interface IMediaError {
readonly MEDIA_ERR_ABORTED: number;
readonly MEDIA_ERR_DECODE: number;
readonly MEDIA_ERR_NETWORK: number;
readonly MEDIA_ERR_SRC_NOT_SUPPORTED: number;
}
export interface IMediaKeys {
}
export interface IMediaList {
readonly length: Promise;
appendMedium(medium: string): Promise;
deleteMedium(medium: string): Promise;
item(index: number): Promise;
[Symbol.iterator](): Iterator;
[index: number]: string;
}
export interface IMediaStream {
readonly active: Promise;
readonly id: Promise;
clone(): IMediaStream;
}
export interface INamedNodeMap {
readonly length: Promise;
getNamedItem(qualifiedName: string): Promise;
getNamedItemNS(namespace: string | null, localName: string): Promise;
item(index: number): Promise;
[Symbol.iterator](): Iterator;
[index: number]: IAttr;
}
export interface INode {
readonly ATTRIBUTE_NODE: number;
readonly CDATA_SECTION_NODE: number;
readonly COMMENT_NODE: number;
readonly DOCUMENT_FRAGMENT_NODE: number;
readonly DOCUMENT_NODE: number;
readonly DOCUMENT_POSITION_CONTAINED_BY: number;
readonly DOCUMENT_POSITION_CONTAINS: number;
readonly DOCUMENT_POSITION_DISCONNECTED: number;
readonly DOCUMENT_POSITION_FOLLOWING: number;
readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
readonly DOCUMENT_POSITION_PRECEDING: number;
readonly DOCUMENT_TYPE_NODE: number;
readonly ELEMENT_NODE: number;
readonly ENTITY_NODE: number;
readonly ENTITY_REFERENCE_NODE: number;
readonly NOTATION_NODE: number;
readonly PROCESSING_INSTRUCTION_NODE: number;
readonly TEXT_NODE: number;
readonly baseURI: Promise;
readonly childNodes: ISuperNodeList;
readonly firstChild: ISuperNode;
readonly isConnected: Promise;
readonly lastChild: ISuperNode;
readonly nextSibling: ISuperNode;
readonly nodeName: Promise;
readonly nodeType: Promise;
readonly nodeValue: Promise;
readonly ownerDocument: ISuperDocument;
readonly parentElement: ISuperElement;
readonly parentNode: ISuperNode;
readonly previousSibling: ISuperNode;
readonly textContent: Promise;
compareDocumentPosition(other: INodeIsolate): Promise;
contains(other: INodeIsolate | null): Promise;
getRootNode(options?: IGetRootNodeOptions): ISuperNode;
hasChildNodes(): Promise;
isDefaultNamespace(namespace: string | null): Promise;
isEqualNode(otherNode: INodeIsolate | null): Promise;
isSameNode(otherNode: INodeIsolate | null): Promise;
lookupNamespaceURI(prefix: string | null): Promise;
lookupPrefix(namespace: string | null): Promise;
normalize(): Promise;
}
export interface INodeList {
readonly length: Promise;
item(index: number): ISuperNode;
forEach(callbackfn: (value: ISuperNode, key: number, parent: INodeList) => void, thisArg?: any): Promise;
entries(): Promise>;
keys(): Promise>;
values(): Promise>;
[Symbol.iterator](): Iterator;
[index: number]: ISuperNode;
}
export interface INonDocumentTypeChildNode {
readonly nextElementSibling: ISuperElement;
readonly previousElementSibling: ISuperElement;
}
export interface INonElementParentNode {
getElementById(elementId: string): ISuperElement;
}
export interface IOffscreenCanvas {
readonly height: Promise;
readonly width: Promise;
convertToBlob(options?: IImageEncodeOptions): Promise;
transferToImageBitmap(): IImageBitmap;
}
export interface IParentNode {
readonly childElementCount: Promise;
readonly children: ISuperHTMLCollection;
readonly firstElementChild: ISuperElement;
readonly lastElementChild: ISuperElement;
querySelector(selectors: string): ISuperElement;
querySelectorAll(selectors: string): ISuperNodeList;
}
export interface IRadioNodeList extends INodeList {
readonly value: Promise;
[index: number]: ISuperNode;
}
export interface IRange extends IAbstractRange {
readonly END_TO_END: number;
readonly END_TO_START: number;
readonly START_TO_END: number;
readonly START_TO_START: number;
readonly commonAncestorContainer: ISuperNode;
cloneContents(): IDocumentFragment;
cloneRange(): IRange;
collapse(toStart?: boolean): Promise;
compareBoundaryPoints(how: number, sourceRange: IRange): Promise;
comparePoint(node: INodeIsolate, offset: number): Promise;
createContextualFragment(fragment: string): IDocumentFragment;
deleteContents(): Promise;
detach(): Promise;
extractContents(): IDocumentFragment;
getBoundingClientRect(): IDOMRect;
getClientRects(): IDOMRectList;
insertNode(node: INodeIsolate): Promise;
intersectsNode(node: INodeIsolate): Promise;
isPointInRange(node: INodeIsolate, offset: number): Promise;
selectNode(node: INodeIsolate): Promise;
selectNodeContents(node: INodeIsolate): Promise