import type { Token } from './Token.ts'; import type { SourcePos } from './SourcePos.ts'; import type { TokenDef } from './TokenDef.ts'; import { LexedText } from './LexedText.ts'; export interface Options { reverse?: boolean; skipSpaces?: boolean; skipNewlines?: boolean; } export declare class TokenIterator { lexed: LexedText; tokens: Token[]; position: number; options: Options; direction: 1 | -1; constructor(lexed: LexedText, position?: number, options?: Options); getPosition(): number; restore(position: number): void; copy(): TokenIterator; getAdvancePosition(lookahead: number): number; next(lookahead?: number): Token; nextIs(match: TokenDef, lookahead?: number): boolean; nextText(lookahead?: number): string; nextIsIdentifier(str: string, lookahead?: number): boolean; nextUnquotedText(lookahead?: number): string; nextLength(lookahead?: number): number; finished(lookahead?: number): boolean; advance(): void; jumpTo(pos: number): void; consume(match?: TokenDef): void; consumeWhile(condition: (next: Token) => boolean): void; consumeIdentifier(s: string): void; consumeAsText(lookahead?: number): string; consumeAsUnquotedText(lookahead?: number): string; consumeAsTextWhile(condition: (next: Token) => boolean): string; tryConsume(match: TokenDef): boolean; skipWhile(condition: (next: Token) => boolean): void; skipUntilNewline(): void; skipSpaces(): void; skipNewlines(): void; lookaheadSkipSpaces(lookahead?: number): number; lookaheadAdvance(lookahead: number): void; consumeSpace(): void; consumeWhitespace(): void; toSourcePos(firstToken: Token, lastToken: Token): SourcePos; getReadableSourcePos(pos: number): string; spanToString(textStart: number, textEnd: number): void; createError(message: string, lookhead?: number): void; } //# sourceMappingURL=TokenIterator.d.ts.map