export type NodePredicate = (node: Node) => node is T; export interface TypedTreeWalker { currentNode: T; readonly filter: NodeFilter | null; readonly root: T; readonly whatToShow: number; firstChild(): T | null; lastChild(): T | null; nextNode(): T | null; nextSibling(): T | null; parentNode(): T | null; previousNode(): T | null; previousSibling(): T | null; } export interface TypedNodeIterator { readonly filter: NodeFilter | null; readonly pointerBeforeReferenceNode: boolean; readonly referenceNode: Node; readonly root: Node; readonly whatToShow: number; detach(): void; nextNode(): T | null; previousNode(): T | null; } type Constructor = new (...args: any[]) => T; export declare function createWalker(root: Node, accept?: NodePredicate, skip?: NodePredicate): TypedTreeWalker; export declare function createIterator(root: Node, accept?: NodePredicate, skip?: NodePredicate): TypedNodeIterator; export declare function firstChild(from: Node, predicate: NodePredicate): T; export declare function lastChild(from: Node, predicate: NodePredicate): T; export declare function nextSibling(from: Node, predicate: NodePredicate): T; export declare function previousSibling(from: Node, predicate: NodePredicate): T; export declare function ancestor(from: Node, predicate: NodePredicate, root?: Node): T; export declare function ancestorOrSelf(from: Node, predicate: NodePredicate, root?: Node): T; export declare function next(from: Node, predicate: NodePredicate, root?: Node): T; export declare function previous(from: Node, predicate: NodePredicate, root?: Node): T; export declare function all(axis: (from: Node, predicate: NodePredicate, root?: Node) => T, from: Node, predicate: NodePredicate, root?: Node): T[]; export declare function isNode(node: Node): node is Node; export declare function isElement(node: Node): node is Element; export declare function isHTMLElement(node: Node): node is HTMLElement; export declare function isSVGElement(node: Node): node is SVGElement; export declare function isSVGRootSVGElement(node: Node): node is SVGSVGElement; export declare function isHTMLOrSVGRootSVGElement(node: Node): node is HTMLElement | SVGSVGElement; export declare function isText(node: Node): node is Text; export declare function isStaticText(node: Node): node is Text; export declare function isConstructedBy(constructor: Constructor): NodePredicate; export declare function isHTMLTag(tagName: K): NodePredicate; export declare const isHTMLTable: NodePredicate; export declare function isStaticStyle(style: CSSStyleDeclaration): boolean; export declare function isStatic(node: Node): boolean; export declare function hasStaticContent(node: Node): boolean; export declare function firstStaticChild(from: Node): Node; export declare function lastStaticChild(from: Node): Node; export declare function nextStaticSibling(from: Node): Node; export declare function isRow(style: CSSStyleDeclaration): 'table-row' | 'flex-row' | false; export declare function predicate(typeGuard: NodePredicate, ...predicates: ((node: Node) => boolean)[]): NodePredicate; export declare function displayAsBlockStyle(style: CSSStyleDeclaration): boolean; export declare function displayAsBlock(node: Node): boolean; export declare function displayAsInlineBlock(node: Node): boolean; export declare function isDisplayed(node: Node): boolean; export declare function hasSize(element: HTMLElement): boolean; export declare function isBreakedBefore(elem: Element): boolean; export declare function isBreakedAfter(elem: Element): boolean; export declare function isPreceding(refNode: Node, testNode: Node): boolean; export declare function inFragment(node: Node): boolean; export declare const isStaticNode: NodePredicate; export declare const isStaticElement: NodePredicate; export declare const nodeHasStaticContent: NodePredicate; export declare const isStaticHtmlElement: NodePredicate; export declare const isStaticHtmlBlock: NodePredicate; export declare const isBlockElement: NodePredicate; export declare const isInlineBlockElement: NodePredicate; export declare const isDisplayedNode: NodePredicate; export declare const isDisplayedElement: NodePredicate; export {};