import { type Expr } from "./expr";
import { type Token } from "./token";
export default class Parser {
    private inputString;
    private modulePath;
    private tokens;
    private program;
    private parserError;
    private hasTemplateString;
    constructor({ modulePath, inputString, }: {
        modulePath: string;
        inputString: string;
    });
    private skipWhitespace;
    private skipWhitespaceBackward;
    private isParenthesizedExpression;
    private parseTemplateString;
    private parseParenExpr;
    private parseArrayExpr;
    private parseCurlyBracketExpr;
    private parsePrimary;
    private isValidStructFieldArg;
    private isOperatorAtLineStart;
    private parseLeftAssociativeOperator;
    private getExprMinimumColumnNumber;
    private parsePrimaryEnd;
    private parseFunctionArguments;
    private parseFunctionCall;
    private parseExpression;
    programToString(): string;
    private parse;
    getProgram(): Expr[];
    getParserError(): Error | undefined;
    getTokens(): Token[];
}
export declare function generateExprFromCode(code: string): Expr;
export declare function generateExprsFromCode(code: string): Expr[];
