/**
 * FileCommander Script (FCS) Parser
 *
 * 100% compatible AST parser for FCS files
 */
import { Token, 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 parseBlockStatement;
    private parseExpressionStatement;
    private parseReturnStatement;
    private parseBreakStatement;
    private parseContinueStatement;
    private parseTryStatement;
    private parseThrowStatement;
    private parseImportStatement;
    private parseTestDeclaration;
    private parseAssertStatement;
    private parseExpression;
    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;
}
export declare function parse(tokens: Token[]): Program;
