import { Token, Group, GroupInProgress, Item, Items } from './tokens.js'; import { Pos } from './position.js'; import { Scanner } from './scanner.js'; export declare class LaxReader implements IterableIterator { readonly scanner: Scanner; readonly stack: Array; constructor(scanner: Scanner); [Symbol.iterator](): IterableIterator; stackTop(): GroupInProgress | null; popUntilMatch(t: Token): Group | 'continue' | 'eof'; _eofClose(): Token; peek(): Token; drop(): void; inTemplateString(): boolean; expectTemplateVariablePart(): void; read(): Item | null; readToEnd(): Items; next(): IteratorResult; } export interface LaxReadOptions { start?: Pos; name?: string; extraDelimiters?: string; synthetic?: boolean; } export declare function laxRead(source: string, options?: LaxReadOptions): Items;