/** @internal Token stream cursor for KERN parser. */ import type { Token } from './parser-tokenizer.js'; export declare class TokenStream { private tokens; private idx; constructor(tokens: Token[]); peek(): Token | undefined; next(): Token | undefined; done(): boolean; position(): number; setPosition(pos: number): void; skipWS(): void; /** Try to consume an identifier. Returns its value or null. */ tryIdent(): string | null; /** Try to consume a number token. Returns its value or null. */ tryNumber(): string | null; /** Check if the next non-WS token is an identifier followed by '='. */ isKeyValue(): boolean; /** Check if any remaining token contains '='. */ hasEquals(): boolean; /** Check if there are more non-whitespace tokens. */ hasMore(): boolean; /** Get remaining raw text from current position (for fallback / params). */ remainingRaw(line: string): string; /** Consume any single non-whitespace token as a value (for evolved positional args). */ consumeAnyValue(): Token | undefined; }