export interface DOMSettableTokenList extends DOMTokenList { value: string; } export interface HTMLElementBase extends Element { style: CSSStyleDeclaration; dataset: DOMStringMap; title: string; lang: string; dir: string; hidden: boolean; tabIndex: number; } export interface HTMLImageElementBase extends HTMLElementBase { alt: string; src: string; srcset: string; sizes: string; crossOrigin: string | null; useMap: string; isMap: boolean; width: number; height: number; naturalWidth: number; naturalHeight: number; complete: boolean; currentSrc: string; decoding: 'sync' | 'async' | 'auto'; loading: 'eager' | 'lazy'; referrerPolicy: string; } export interface HTMLIFrameElementBase extends HTMLElementBase { src: string; srcdoc: string; name: string; sandbox: DOMSettableTokenList; allow: string; allowFullscreen: boolean; width: string; height: string; contentDocument: Document | null; contentWindow: Window | null; referrerPolicy: string; } export type HTMLElement = HTMLElementBase; export type HTMLImageElement = HTMLImageElementBase; export type HTMLIFrameElement = HTMLIFrameElementBase; export type HTMLOListElement = HTMLElementBase; export type HTMLUListElement = HTMLElementBase; export type HTMLTableElement = HTMLElementBase; export type HTMLTableRowElement = HTMLElementBase; export type HTMLTableCellElement = HTMLElementBase; export type HTMLTableSectionElement = HTMLElementBase; export type HTMLTableCaptionElement = HTMLElementBase; export type HTMLButtonElement = HTMLElementBase; export type HTMLSpanElement = HTMLElementBase; export type HTMLDivElement = HTMLElementBase; export type HTMLAnchorElement = HTMLElementBase;