/**
 * Unified Script Parser
 *
 * Based on FCS parser (superset) with Buddy Script additions:
 * - AwaitExpression in unary parsing
 * - ForCStyle statement (C-style for loops)
 * - Export keyword
 * - Question token for ternary (instead of checking Colon value)
 * - Arrow functions / lambdas
 *
 * Extensions: .bs (primary), .fcs (backward-compatible alias)
 */
import { Token, AstNode, Program } from './types.js';
export declare class FCSParser {
    private tokens;
    private current;
    private recursionDepth;
    constructor(tokens: Token[]);
    /**
     * Track recursion depth to prevent stack overflow on deeply nested input
     */
    private enterRecursion;
    private exitRecursion;
    parse(): Program;
    private parseDeclaration;
    private parseStatement;
    private parseFunctionDeclaration;
    private parseParameters;
    private parseVarDeclaration;
    private parseClassDeclaration;
    private parseIfStatement;
    private parseWhileStatement;
    private parseForStatement;
    private parseForCStyleStatement;
    private parseBlockStatement;
    private parseExpressionStatement;
    private parseReturnStatement;
    private parseBreakStatement;
    private parseContinueStatement;
    private parseTryStatement;
    private parseThrowStatement;
    private parseImportStatement;
    private parseExportStatement;
    private parseTestDeclaration;
    private parseAssertStatement;
    parseExpression(): AstNode;
    private parseAssignment;
    private parseTernary;
    private parsePipeline;
    private parseLogicalOr;
    private parseLogicalAnd;
    private parseEquality;
    private parseComparison;
    private parseAddition;
    private parseMultiplication;
    private parsePower;
    private parseUnary;
    private parsePostfix;
    private parseCall;
    private parsePrimary;
    private parseStringInterpolation;
    private parseArrayLiteral;
    private parseDictLiteral;
    private isAtEnd;
    private peek;
    private previous;
    private advance;
    private check;
    private checkNext;
    private checkKeyword;
    private match;
    private matchKeyword;
    private consume;
    private consumeKeyword;
    private consumeStatementEnd;
    private skipNewlines;
    private synchronize;
}
/** @deprecated Use FCSParser instead */
export declare const Parser: typeof FCSParser;
export declare function parse(tokens: Token[]): Program;
