import { type DroppedTag, type SelectedAttributes, type SemanticTag } from './policy.js'; export interface ScannerHost { retainToken(units: number): void; releaseToken(units: number): void; probeToken(units: number): void; pushDepth(): void; popDepth(count: number): void; text(value: string, mode: 'normal' | 'pre'): void; start(tag: SemanticTag, attributes: SelectedAttributes): void; end(tag: SemanticTag): void; dropped(tag: DroppedTag): void; } export declare class HtmlScanner { private readonly host; private readonly frames; private readonly topByName; private readonly referenceCache; private state; private token; private quote; private commentTail; private referenceBuffer; private pendingCarriageReturn; private preDepth; private raw; private ordinaryDrop; private specialReference; private inHead; private finished; constructor(host: ScannerHost); write(chunk: string): void; finish(): void; private consume; private consumeData; private consumeTagOpen; private consumeEndTagOpen; private consumeTag; private consumeMarkupProbe; private consumeComment; private consumeCommentSpan; private consumeDataSpan; private consumeDroppedRawSpan; private consumeReferenceSpan; private consumeTagSpan; private startToken; private appendToken; private appendTokenValue; private releaseTokenBuffer; private retainReference; private resolveReference; private consumeResolvedRemainder; private emitToken; private emitParsedTag; private openTag; private openVisibleTag; private closeTag; private closeFramesTo; private emitText; private handleHeadTag; private exitHead; private consumeRaw; private consumeRawCandidate; private failRawCandidate; private closeRawState; private retainSpecialReference; private resolveSpecialReference; private consumeOrdinaryDrop; private finishSpecialState; private emitRawLiteral; private decodeReference; }