/** * @license * Copyright (c) 2018 The Polymer Project Authors. All rights reserved. * This code may only be used under the BSD style license found at * http://polymer.github.io/LICENSE.txt * The complete set of authors may be found at * http://polymer.github.io/AUTHORS.txt * The complete set of contributors may be found at * http://polymer.github.io/CONTRIBUTORS.txt * Code distributed by Google as part of the polymer project is also * subject to an additional IP rights grant found at * http://polymer.github.io/PATENTS.txt */ import { ASTNode as Node } from 'parse5'; export { ASTNode as Node } from 'parse5'; export declare type Predicate = (node: Node) => boolean; export declare function hasSpaceSeparatedAttrValue(name: string, value: string): Predicate; export declare function isDocument(node: Node): boolean; export declare function isDocumentFragment(node: Node): boolean; export declare function isElement(node: Node): boolean; export declare function isTextNode(node: Node): boolean; export declare function isCommentNode(node: Node): boolean; export declare const predicates: { hasClass: (name: string) => Predicate; hasAttr: (attr: string) => Predicate; hasAttrValue: (attr: string, value: string) => Predicate; hasMatchingTagName: (regex: RegExp) => Predicate; hasSpaceSeparatedAttrValue: typeof hasSpaceSeparatedAttrValue; hasTagName: (name: string) => Predicate; hasTextValue: (value: string) => Predicate; AND: (...predicates: Predicate[]) => Predicate; OR: (...predicates: Predicate[]) => Predicate; NOT: (predicateFn: Predicate) => Predicate; parentMatches: (predicateFn: Predicate) => Predicate; };