interface ScannerOptions { extendedIdentifiers: boolean; } declare class Scanner { #private; lnum: number; lnumStartIndex: number; constructor(source: string, options?: ScannerOptions); /** * Current index the scanner is pointing at */ get pos(): number; /** * Current char the scanner is pointing at */ get char(): string; /** * Current charCode the scanner is pointing at */ get charCode(): number; /** * Returns the current range from marked index to current index in an array or a specified range. */ get text(): string; /** * Returns the current range from marked index to current index in an array or a specified range. */ get range(): number[]; mark(): Scanner; /** * Retrieves the charcode of at a given index in the scanner */ charCodeAt(index: number): number; isCharCodeAt(index: number, charCode: number): boolean; isLineFeedAt(index: number): boolean; isCarriageReturnAt(index: number): boolean; isWhitespace(index: number): boolean; isLineTerminatorAt(index: number): boolean; isNewLineAt(index: number): boolean; isDigitAt(index: number): boolean; isExtendedAlphabetsAt(index: number): boolean; isAlphabetAt(index: number): boolean; isHexDigitAt(index: number): boolean; isAlphanumericAt(index: number): boolean; isOutOfBoundsAt(index: number): boolean; getCol(): number; match(chars: string): boolean; consumeEOL(): boolean; someChar(chars: string[] | string): boolean; someCharCode(charCodes: number[]): boolean; scan(by?: number): Scanner; scanWhile(cond: () => boolean): Scanner; scanUntil(cond: () => boolean): Scanner; } export { Scanner }; export type { ScannerOptions };