// Type definitions for parse5-parser-stream 5.0 // Project: https://github.com/inikulin/parse5 // Definitions by: Ivan Nikulin // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 /// import * as stream from "stream"; import * as parse5 from "parse5"; /** * Streaming HTML parser with scripting support. * A [writable stream](https://nodejs.org/api/stream.html#stream_class_stream_writable). * * ** NOTE:** This API is available only for Node.js. * * @example * ```js * * const parse5 = require('parse5'); * const http = require('http'); * * // Fetch the page content and obtain it's node * http.get('http://inikulin.github.io/parse5/', res => { * const parser = new parse5.ParserStream(); * * parser.once('finish', () => { * console.log(parser.document.childNodes[1].childNodes[0].tagName); //> 'head' * }); * * res.pipe(parser); * }); * ``` */ declare class ParserStream extends stream.Writable { /** * @param options - Parsing options. */ constructor(options?: parse5.ParserOptions); /** * The resulting document node. */ document: TDocument; /** * Raised when parser encounters a `'); * ``` */ on( event: "script", listener: ( scriptElement: parse5.Element, documentWrite: (html: string) => void, resume: () => void ) => void ): this; /** * WritableStream events */ on(event: string, listener: (...params: any[]) => any): this; } declare namespace ParserStream {} export = ParserStream;