| /** All the states the tokenizer can be in. */ | 
| declare const enum State { | 
|     Text = 1, | 
|     BeforeTagName = 2, | 
|     InTagName = 3, | 
|     InSelfClosingTag = 4, | 
|     BeforeClosingTagName = 5, | 
|     InClosingTagName = 6, | 
|     AfterClosingTagName = 7, | 
|     BeforeAttributeName = 8, | 
|     InAttributeName = 9, | 
|     AfterAttributeName = 10, | 
|     BeforeAttributeValue = 11, | 
|     InAttributeValueDq = 12, | 
|     InAttributeValueSq = 13, | 
|     InAttributeValueNq = 14, | 
|     BeforeDeclaration = 15, | 
|     InDeclaration = 16, | 
|     InProcessingInstruction = 17, | 
|     BeforeComment = 18, | 
|     InComment = 19, | 
|     InSpecialComment = 20, | 
|     AfterComment1 = 21, | 
|     AfterComment2 = 22, | 
|     BeforeCdata1 = 23, | 
|     BeforeCdata2 = 24, | 
|     BeforeCdata3 = 25, | 
|     BeforeCdata4 = 26, | 
|     BeforeCdata5 = 27, | 
|     BeforeCdata6 = 28, | 
|     InCdata = 29, | 
|     AfterCdata1 = 30, | 
|     AfterCdata2 = 31, | 
|     BeforeSpecialS = 32, | 
|     BeforeSpecialSEnd = 33, | 
|     BeforeScript1 = 34, | 
|     BeforeScript2 = 35, | 
|     BeforeScript3 = 36, | 
|     BeforeScript4 = 37, | 
|     BeforeScript5 = 38, | 
|     AfterScript1 = 39, | 
|     AfterScript2 = 40, | 
|     AfterScript3 = 41, | 
|     AfterScript4 = 42, | 
|     AfterScript5 = 43, | 
|     BeforeStyle1 = 44, | 
|     BeforeStyle2 = 45, | 
|     BeforeStyle3 = 46, | 
|     BeforeStyle4 = 47, | 
|     AfterStyle1 = 48, | 
|     AfterStyle2 = 49, | 
|     AfterStyle3 = 50, | 
|     AfterStyle4 = 51, | 
|     BeforeSpecialT = 52, | 
|     BeforeSpecialTEnd = 53, | 
|     BeforeTitle1 = 54, | 
|     BeforeTitle2 = 55, | 
|     BeforeTitle3 = 56, | 
|     BeforeTitle4 = 57, | 
|     AfterTitle1 = 58, | 
|     AfterTitle2 = 59, | 
|     AfterTitle3 = 60, | 
|     AfterTitle4 = 61, | 
|     BeforeEntity = 62, | 
|     BeforeNumericEntity = 63, | 
|     InNamedEntity = 64, | 
|     InNumericEntity = 65, | 
|     InHexEntity = 66 | 
| } | 
| export interface Callbacks { | 
|     onattribdata(value: string): void; | 
|     onattribend(quote: string | undefined | null): void; | 
|     onattribname(name: string): void; | 
|     oncdata(data: string): void; | 
|     onclosetag(name: string): void; | 
|     oncomment(data: string): void; | 
|     ondeclaration(content: string): void; | 
|     onend(): void; | 
|     onerror(error: Error, state?: State): void; | 
|     onopentagend(): void; | 
|     onopentagname(name: string): void; | 
|     onprocessinginstruction(instruction: string): void; | 
|     onselfclosingtag(): void; | 
|     ontext(value: string): void; | 
| } | 
| export default class Tokenizer { | 
|     /** The current state the tokenizer is in. */ | 
|     _state: State; | 
|     /** The read buffer. */ | 
|     private buffer; | 
|     /** The beginning of the section that is currently being read. */ | 
|     sectionStart: number; | 
|     /** The index within the buffer that we are currently looking at. */ | 
|     _index: number; | 
|     /** | 
|      * Data that has already been processed will be removed from the buffer occasionally. | 
|      * `_bufferOffset` keeps track of how many characters have been removed, to make sure position information is accurate. | 
|      */ | 
|     private bufferOffset; | 
|     /** Some behavior, eg. when decoding entities, is done while we are in another state. This keeps track of the other state type. */ | 
|     private baseState; | 
|     /** For special parsing behavior inside of script and style tags. */ | 
|     private special; | 
|     /** Indicates whether the tokenizer has been paused. */ | 
|     private running; | 
|     /** Indicates whether the tokenizer has finished running / `.end` has been called. */ | 
|     private ended; | 
|     private readonly cbs; | 
|     private readonly xmlMode; | 
|     private readonly decodeEntities; | 
|     constructor(options: { | 
|         xmlMode?: boolean; | 
|         decodeEntities?: boolean; | 
|     } | null, cbs: Callbacks); | 
|     reset(): void; | 
|     write(chunk: string): void; | 
|     end(chunk?: string): void; | 
|     pause(): void; | 
|     resume(): void; | 
|     /** | 
|      * The current index within all of the written data. | 
|      */ | 
|     getAbsoluteIndex(): number; | 
|     private stateText; | 
|     /** | 
|      * HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name. | 
|      * | 
|      * XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar). | 
|      * We allow anything that wouldn't end the tag. | 
|      */ | 
|     private isTagStartChar; | 
|     private stateBeforeTagName; | 
|     private stateInTagName; | 
|     private stateBeforeClosingTagName; | 
|     private stateInClosingTagName; | 
|     private stateAfterClosingTagName; | 
|     private stateBeforeAttributeName; | 
|     private stateInSelfClosingTag; | 
|     private stateInAttributeName; | 
|     private stateAfterAttributeName; | 
|     private stateBeforeAttributeValue; | 
|     private handleInAttributeValue; | 
|     private stateInAttributeValueDoubleQuotes; | 
|     private stateInAttributeValueSingleQuotes; | 
|     private stateInAttributeValueNoQuotes; | 
|     private stateBeforeDeclaration; | 
|     private stateInDeclaration; | 
|     private stateInProcessingInstruction; | 
|     private stateBeforeComment; | 
|     private stateInComment; | 
|     private stateInSpecialComment; | 
|     private stateAfterComment1; | 
|     private stateAfterComment2; | 
|     private stateBeforeCdata6; | 
|     private stateInCdata; | 
|     private stateAfterCdata1; | 
|     private stateAfterCdata2; | 
|     private stateBeforeSpecialS; | 
|     private stateBeforeSpecialSEnd; | 
|     private stateBeforeSpecialLast; | 
|     private stateAfterSpecialLast; | 
|     private parseFixedEntity; | 
|     private parseLegacyEntity; | 
|     private stateInNamedEntity; | 
|     private decodeNumericEntity; | 
|     private stateInNumericEntity; | 
|     private stateInHexEntity; | 
|     private cleanup; | 
|     /** | 
|      * Iterates through the buffer, calling the function corresponding to the current state. | 
|      * | 
|      * States that are more likely to be hit are higher up, as a performance improvement. | 
|      */ | 
|     private parse; | 
|     private finish; | 
|     private handleTrailingData; | 
|     private getSection; | 
|     private emitToken; | 
|     private emitPartial; | 
| } | 
| export {}; | 
| //# sourceMappingURL=Tokenizer.d.ts.map |