import { ASTNode } from 'parse5'; import { SourceRange } from '../model/model'; import { Options, ParsedDocument, StringifyOptions } from '../parser/document'; /** * The ASTs of the HTML elements needed to represent Polymer elements. */ export interface HtmlVisitor { (node: ASTNode): void; } export declare class ParsedHtmlDocument extends ParsedDocument { type: string; constructor(from: Options); visit(visitors: HtmlVisitor[]): void; forEachNode(callback: (node: ASTNode) => void): void; protected _sourceRangeForCommentNode(node: ASTNode): SourceRange | undefined; protected _sourceRangeForElementWithEndTag(node: ASTNode): SourceRange | undefined; protected _sourceRangeForTextNode(node: ASTNode): SourceRange | undefined; protected _sourceRangeForNode(node: ASTNode): SourceRange | undefined; sourceRangeForAttribute(node: ASTNode, attrName: string): SourceRange | undefined; sourceRangeForAttributeName(node: ASTNode, attrName: string): SourceRange | undefined; sourceRangeForAttributeValue(node: ASTNode, attrName: string, excludeQuotes?: boolean): SourceRange | undefined; sourceRangeForStartTag(node: ASTNode): SourceRange | undefined; sourceRangeForEndTag(node: ASTNode): SourceRange | undefined; private _getSourceRangeForLocation(location); stringify(options?: StringifyOptions): string; }