/** * Returns an element's attributes without falling prey to things like *
. Equivalent to * `node.attributes`. * @param {!Element} element * @return {!NamedNodeMap} */ export function getElementAttributes(element: Element): NamedNodeMap; /** * Returns whether an element has a specific attribute, without falling prey to * things like
. * Equivalent to {@code element.hasAttribute("foo")}. * @param {!Element} element * @param {string} attrName * @return {boolean} */ export function hasElementAttribute(element: Element, attrName: string): boolean; /** * Returns a specific attribute from an element without falling prey to * things like
. * Equivalent to {@code element.getAttribute("foo")}. * @param {!Element} element * @param {string} attrName * @return {?string} */ export function getElementAttribute(element: Element, attrName: string): string | null; /** * Sets an element's attributes without falling prey to things like *
. Equivalent to {@code * element.setAttribute("foo", "bar")}. * @param {!Element} element * @param {string} name * @param {string} value */ export function setElementAttribute(element: Element, name: string, value: string): void; /** * Deletes a specific attribute from an element without falling prey to * things like
. * Equivalent to {@code element.removeAttribute("foo")}. * @param {!Element} element * @param {string} attrName */ export function removeElementAttribute(element: Element, attrName: string): void; /** * Returns a node's innerHTML property value without falling prey to things like *
. Equivalent to * `element.innerHTML`. * @param {!Element} element * @return {string} */ export function getElementInnerHTML(element: Element): string; /** * Returns an element's style without falling prey to things like *
. * @param {!Element} element * @return {!CSSStyleDeclaration} */ export function getElementStyle(element: Element): CSSStyleDeclaration; /** * Get the children of a specific tag matching the provided tag name without * falling prey to things like
. * Equivalent to {@code element.getElementsByTagName("foo")}. * @param {!Element} element * @param {string} name * @return {!Array} */ export function getElementsByTagName(element: Element, name: string): Array; /** * Returns an element's style without falling prey to things like *
. * @param {!Element} element * @return {!CSSStyleSheet} */ export function getElementStyleSheet(element: Element): CSSStyleSheet; /** * Returns true if the element would be selected by the provided selector, * without falling prey to things like
. * Equivalent to {@code element.matches("foo")}. * @param {!Element} element * @param {string} selector * @return {boolean} */ export function elementMatches(element: Element, selector: string): boolean; /** * Asserts that a Node is an Element, without falling prey to things like *
. * @param {!Node} node * @return {!Element} */ export function assertNodeIsElement(node: Node): Element; /** * Returns whether the node is an Element, without falling prey to things like *
. * @param {!Node} node * @return {boolean} */ export function isNodeElement(node: Node): boolean; /** * Returns a node's nodeName without falling prey to things like *
. * @param {!Node} node * @return {string} */ export function getNodeName(node: Node): string; /** * Returns a node's nodeType without falling prey to things like * `
`. * @param {!Node} node * @return {number} */ export function getNodeType(node: Node): number; /** * Returns a node's parentNode without falling prey to things like *
. * @param {!Node} node * @return {?Node} */ export function getParentNode(node: Node): Node | null; /** * Returns the value of node.childNodes without falling prey to things like *
. * @param {!Node} node * @return {!NodeList} */ export function getChildNodes(node: Node): any; /** * Appends a child to a node without falling prey to things like *
. * @param {!Node} parent * @param {!Node} child * @return {!Node} */ export function appendNodeChild(parent: Node, child: Node): Node; /** * Provides a way cross-browser way to get a CSS value from a CSS declaration. * @param {!CSSStyleDeclaration} cssStyle A CSS style object. * @param {string} propName A property name. * @return {string} Value of the property as parsed by the browser. * @supported IE8 and newer. */ export function getCssPropertyValue(cssStyle: CSSStyleDeclaration, propName: string): string; /** * Provides a cross-browser way to set a CSS value on a CSS declaration. * @param {!CSSStyleDeclaration} cssStyle A CSS style object. * @param {string} propName A property name. * @param {string} sanitizedValue Sanitized value of the property to be set * on the CSS style object. * @supported IE8 and newer. */ export function setCssProperty(cssStyle: CSSStyleDeclaration, propName: string, sanitizedValue: string): void; /** * Returns an element's namespace URI without falling prey to things like *
. * @param {!Element} element * @return {string} */ export function getElementNamespaceURI(element: Element): string; export type Methods = Function | null; export namespace Methods { const ATTRIBUTES_GETTER: Function | null; const HAS_ATTRIBUTE: Function | null; const GET_ATTRIBUTE: Function | null; const SET_ATTRIBUTE: Function | null; const REMOVE_ATTRIBUTE: Function | null; const INNER_HTML_GETTER: Function | null; const GET_ELEMENTS_BY_TAG_NAME: Function | null; const MATCHES: Function | null; const NODE_NAME_GETTER: Function | null; const NODE_TYPE_GETTER: Function | null; const PARENT_NODE_GETTER: Function | null; const CHILD_NODES_GETTER: Function | null; const APPEND_CHILD: Function | null; const STYLE_GETTER: Function | null; const SHEET_GETTER: Function | null; const GET_PROPERTY_VALUE: Function | null; const SET_PROPERTY: Function | null; const NAMESPACE_URI_GETTER: Function | null; }