import Logger from '../Logger'; import Node from '../Node'; import Token from '../Token'; import TokenType from '../TokenType'; import ParserContext from './ParserContext'; export default class Parser { logger: Logger; constructor(logger: Logger); parse(ctx: ParserContext): ParserContext; parseNode(precedence: number, ctx: ParserContext): Node; peekToken(type: TokenType | null, ctx: ParserContext): Token | undefined; consumeToken(type: TokenType | null, ctx: ParserContext): Token | undefined; peekPrecedence(infix: boolean, ctx: ParserContext): number; getPrecedence(infix: boolean, token: Token): number; error(msg: string, token: Token | undefined, ctx: ParserContext): void; }