| import Tokenizer from "./Tokenizer"; | 
| export interface ParserOptions { | 
|     /** | 
|      * Indicates whether special tags (`<script>`, `<style>`, and `<title>`) should get special treatment | 
|      * and if "empty" tags (eg. `<br>`) can have children.  If `false`, the content of special tags | 
|      * will be text only. For feeds and other XML content (documents that don't consist of HTML), | 
|      * set this to `true`. | 
|      * | 
|      * @default false | 
|      */ | 
|     xmlMode?: boolean; | 
|     /** | 
|      * Decode entities within the document. | 
|      * | 
|      * @default true | 
|      */ | 
|     decodeEntities?: boolean; | 
|     /** | 
|      * If set to true, all tags will be lowercased. | 
|      * | 
|      * @default !xmlMode | 
|      */ | 
|     lowerCaseTags?: boolean; | 
|     /** | 
|      * If set to `true`, all attribute names will be lowercased. This has noticeable impact on speed. | 
|      * | 
|      * @default !xmlMode | 
|      */ | 
|     lowerCaseAttributeNames?: boolean; | 
|     /** | 
|      * If set to true, CDATA sections will be recognized as text even if the xmlMode option is not enabled. | 
|      * NOTE: If xmlMode is set to `true` then CDATA sections will always be recognized as text. | 
|      * | 
|      * @default xmlMode | 
|      */ | 
|     recognizeCDATA?: boolean; | 
|     /** | 
|      * If set to `true`, self-closing tags will trigger the onclosetag event even if xmlMode is not set to `true`. | 
|      * NOTE: If xmlMode is set to `true` then self-closing tags will always be recognized. | 
|      * | 
|      * @default xmlMode | 
|      */ | 
|     recognizeSelfClosing?: boolean; | 
|     /** | 
|      * Allows the default tokenizer to be overwritten. | 
|      */ | 
|     Tokenizer?: typeof Tokenizer; | 
| } | 
| export interface Handler { | 
|     onparserinit(parser: Parser): void; | 
|     /** | 
|      * Resets the handler back to starting state | 
|      */ | 
|     onreset(): void; | 
|     /** | 
|      * Signals the handler that parsing is done | 
|      */ | 
|     onend(): void; | 
|     onerror(error: Error): void; | 
|     onclosetag(name: string): void; | 
|     onopentagname(name: string): void; | 
|     /** | 
|      * | 
|      * @param name Name of the attribute | 
|      * @param value Value of the attribute. | 
|      * @param quote Quotes used around the attribute. `null` if the attribute has no quotes around the value, `undefined` if the attribute has no value. | 
|      */ | 
|     onattribute(name: string, value: string, quote?: string | undefined | null): void; | 
|     onopentag(name: string, attribs: { | 
|         [s: string]: string; | 
|     }): void; | 
|     ontext(data: string): void; | 
|     oncomment(data: string): void; | 
|     oncdatastart(): void; | 
|     oncdataend(): void; | 
|     oncommentend(): void; | 
|     onprocessinginstruction(name: string, data: string): void; | 
| } | 
| export declare class Parser { | 
|     /** The start index of the last event. */ | 
|     startIndex: number; | 
|     /** The end index of the last event. */ | 
|     endIndex: number | null; | 
|     private tagname; | 
|     private attribname; | 
|     private attribvalue; | 
|     private attribs; | 
|     private stack; | 
|     private readonly foreignContext; | 
|     private readonly cbs; | 
|     private readonly options; | 
|     private readonly lowerCaseTagNames; | 
|     private readonly lowerCaseAttributeNames; | 
|     private readonly tokenizer; | 
|     constructor(cbs: Partial<Handler> | null, options?: ParserOptions); | 
|     private updatePosition; | 
|     ontext(data: string): void; | 
|     onopentagname(name: string): void; | 
|     onopentagend(): void; | 
|     onclosetag(name: string): void; | 
|     onselfclosingtag(): void; | 
|     private closeCurrentTag; | 
|     onattribname(name: string): void; | 
|     onattribdata(value: string): void; | 
|     onattribend(quote: string | undefined | null): void; | 
|     private getInstructionName; | 
|     ondeclaration(value: string): void; | 
|     onprocessinginstruction(value: string): void; | 
|     oncomment(value: string): void; | 
|     oncdata(value: string): void; | 
|     onerror(err: Error): void; | 
|     onend(): void; | 
|     /** | 
|      * Resets the parser to a blank state, ready to parse a new HTML document | 
|      */ | 
|     reset(): void; | 
|     /** | 
|      * Resets the parser, then parses a complete document and | 
|      * pushes it to the handler. | 
|      * | 
|      * @param data Document to parse. | 
|      */ | 
|     parseComplete(data: string): void; | 
|     /** | 
|      * Parses a chunk of data and calls the corresponding callbacks. | 
|      * | 
|      * @param chunk Chunk to parse. | 
|      */ | 
|     write(chunk: string): void; | 
|     /** | 
|      * Parses the end of the buffer and clears the stack, calls onend. | 
|      * | 
|      * @param chunk Optional final chunk to parse. | 
|      */ | 
|     end(chunk?: string): void; | 
|     /** | 
|      * Pauses parsing. The parser won't emit events until `resume` is called. | 
|      */ | 
|     pause(): void; | 
|     /** | 
|      * Resumes parsing after `pause` was called. | 
|      */ | 
|     resume(): void; | 
|     /** | 
|      * Alias of `write`, for backwards compatibility. | 
|      * | 
|      * @param chunk Chunk to parse. | 
|      * @deprecated | 
|      */ | 
|     parseChunk(chunk: string): void; | 
|     /** | 
|      * Alias of `end`, for backwards compatibility. | 
|      * | 
|      * @param chunk Optional final chunk to parse. | 
|      * @deprecated | 
|      */ | 
|     done(chunk?: string): void; | 
| } | 
| //# sourceMappingURL=Parser.d.ts.map |