export {}; declare global { interface Document { _inc: number; } type EntityReference = Node; interface Element { _nsMap: Record; } interface DocumentType { internalSubset: string; } interface Node { lineNumber?: number; columnNumber?: number; observers: RegisteredObserver[]; toString(isHtml?: boolean, nodeFilter?: NodeFilterTS): string; addObserver(observer: MutationObserver, options: MutationObserverInit): boolean; delObserver(observer: MutationObserver): void; } interface MutationObserver { queueRecord(record: MutationRecord): void; notify(): void; } } export interface LiveNodeList extends NodeListOf { _node: Node; _refresh: RefreshTS; _length: number; _inc: number; } export declare type NodeFilterTS = (node: Node) => Node; export declare type RefreshTS = (node: Node) => Node[]; export interface Locator { systemId?: string; lineNumber?: number; columnNumber?: number; } export declare type Mutable = { -readonly [P in keyof T]: T[P]; }; export declare type MutableNode = Mutable; export declare type MutableChildNode = Mutable; export declare type MutableElement = Mutable; export declare type MutableDocument = Mutable; export declare type MutableAttr = Mutable; export interface ElementAttributes { [index: number]: any; tagName: string; prefix: string; uri: string; localName: string; closed: boolean; length: number; currentNSMap: NSMap; localNSMap: NSMap | null; setTagName(tagName: string): void; add(qName: string, value: string, offset: number): void; getLocalName(i: number): string | undefined; getLocator(i: number): Locator | undefined; getQName(i: number): string; getURI(i: number): string | undefined; getValue(i: number): string; } export declare type EntityMap = Record; export declare type NSMap = Record; export interface ErrorHandler { warning(error: string): void; error(error: string): void; fatalError(error: string): void; } export declare type ExternalErrorHandler = ((key: 'warning' | 'error' | 'fatalError', msg: string) => void) | Partial; export interface DOMHandler { doc: Document; locator: Locator; currentElement: Node | null; startDocument(): void; endDocument(): void; characters(chars: string, start: number, length: number): void; processingInstruction(target: string, data: string): void; comment(chars: string, start: number, length: number): void; startElement(namespaceURI: string, localName: string, qName: string, attrs: ElementAttributes): void; endElement(_namespaceURI: string, _localName: string, _qName: string): void; startPrefixMapping(_prefix: string, _uri: string): void; endPrefixMapping(_prefix: string): void; startCDATA(): void; endCDATA(): void; startDTD(name: string, publicId: string, systemId: string): void; endDTD(): void; setDocumentLocator(locator: Locator): void; } export declare type VisibleNamespaces = Array<{ prefix: string | null; namespace: string; }>; export declare type EntityReplacer = (s: string) => string; export interface RegisteredObserver { observer: MutationObserver; options: MutationObserverInit; }