import { DOMWindow } from "jsdom"; /** * The CSSCore module specifies the API (and implements most of the methods) * that should be used when dealing with the display of elements (via their * CSS classes and visibility on screen. It is an API focused on mutating the * display and not reading it as no logical state should be encoded in the * display of elements. */ declare namespace CSSCore { /** * Adds the class passed in to the element if it doesn't already have it. */ function addClass(element: HTMLElement, className: string): HTMLElement; /** * Removes the class passed in from the element */ function removeClass(element: HTMLElement, className: string): HTMLElement; /** * Helper to add or remove a class from an element based on a condition. */ function conditionClass(element: HTMLElement, className: string, condition: boolean): HTMLElement; /** * Tests whether the element has the class specified. */ function hasClass(element: HTMLElement | DOMWindow, className: string): boolean; /** * Tests whether the element matches the selector specified */ function matchesSelector(element: HTMLElement | DOMWindow, selector: string): boolean; } // eslint-disable-next-line @definitelytyped/export-just-namespace export = CSSCore;