/** * Streaming HTML parser for template literals. * State machine: Text=0, TagOpen=1, TagName=2, InTag=3, AttrName=4, AttrEq=5, AttrVal=6, CloseTag=7, Comment=8 */ /** Pre-compiled attribute: static strings interleaved with slot indexes */ export type Attr = [name: string, statics: string[], indexes: number[]]; export interface ParseCallbacks { onText: (text: string) => void; onOpenTag: (tag: string, attrs: Attr[], selfClosing: boolean) => void; onClose: () => void; onSlot: (index: number) => void; } export declare class HTMLParser { private s; private tag; private attr; private statics; private indexes; private attrs; private text; private q; parseTemplate(strings: TemplateStringsArray, cb: ParseCallbacks): void; private parse; private slot; private emit; private emitAttr; private isA; private isT; private isW; } //# sourceMappingURL=parser.d.ts.map