export class Lexer { /** @param {string} source */ constructor(source: string); /** @type {string} */ source: string; /** @type {number} */ pos: number; /** @type {number} */ line: number; /** @type {number} */ col: number; /** @type {Token[]} */ tokens: Token[]; /** @type {number[]} */ indentStack: number[]; /** @type {boolean} */ lineStart: boolean; peek(offset?: number): string; advance(): string; error(msg: any): void; emit(type: any, value: string, start: any): void; tokenize(): void; } /** @param {string} source @returns {Token[]} */ export function tokenize(source: string): Token[]; import { Token } from "./types";