import { Token, TokenType } from './types'; export declare class JsonTemplateLexer { private readonly codeChars; private buf; private idx; private lastParsedToken?; constructor(template: string); init(): void; currentIndex(): number; getCode(start: number, end: number): string; match(value?: string, steps?: number): boolean; matchLiteral(): boolean; matchINT(steps?: number): boolean; matchToArray(): boolean; matchCompileTimeExpr(): boolean; matchSimplePath(): boolean; matchRichPath(): boolean; matchPathType(): boolean; matchPath(): boolean; matchSpread(): boolean; matchPathPartSelector(): boolean; matchPathSelector(): boolean; matchTokenType(tokenType: TokenType, steps?: number): boolean; matchID(steps?: number): boolean; matchEOT(): boolean; private static isOperator; matchKeyword(): boolean; matchKeywordValue(val: string): boolean; matchIN(): boolean; matchFunction(): boolean; matchNew(): boolean; matchTypeOf(): boolean; matchAwait(): boolean; matchLambda(): boolean; expect(value: any): void; lookahead(steps?: number): Token; private isLineCommentStart; private isLineCommentEnd; private isBlockCommentStart; private isBlockCommentEnd; private skipLineComment; private skipBlockComment; private isWhiteSpace; private skipWhitespace; private skipInput; private advance; value(): any; ignoreTokens(numTokens: number): void; lex(): Token; static isLiteralToken(token: Token): boolean; throwUnexpectedToken(token?: Token): never; private throwError; private static isDigit; private static isIdStart; private static isIdPart; private validateID; private scanID; private scanString; scanInteger(): Token | undefined; private scanPunctuatorForDots; private scanPunctuatorForEquality; private scanPunctuatorForRepeatedTokens; private scanSingleCharPunctuators; private scanPunctuatorForQuestionMarks; private scanPunctuatorForPaths; private scanPunctuator; } //# sourceMappingURL=lexer.d.ts.map