import { LogicScriptDefineDirective, LogicScriptIfStatement, LogicScriptIncludeDirective, LogicScriptProgram, LogicScriptStatement } from './LogicScriptParserTypes'; import { SyntaxError } from './LogicScriptParser.generated'; import { IdentifierMapping } from './LogicScriptIdentifierMapping'; export declare class SyntaxErrorWithFilePath extends SyntaxError { filePath: string; } export declare type LogicScriptStatementVisitor = (statement: StatementType, stack: LogicScriptStatementStack) => boolean; export declare type LogicScriptStatementStack = StatementType[][]; export declare type LogicScriptPreprocessedStatement = Exclude | LogicScriptIfStatement; export declare function getGotoTargetLabel(statement: LogicScriptStatement): string | undefined; export declare class LogicScriptParseTree { program: LogicScriptProgram; identifiers: Map; constructor(program: LogicScriptProgram, identifiers: Map); dfsStatements(visitor: LogicScriptStatementVisitor): boolean; private dfsStatementsInner; findNextStatementPosition(statement: StatementType, stack: LogicScriptStatementStack): { index: number; stack: LogicScriptStatementStack; } | undefined; findNextStatement(statement: StatementType, stack: LogicScriptStatementStack): StatementType | undefined; } export declare function buildIdentifierMappingForDefineDirective(directive: LogicScriptDefineDirective, identifierMappings: Map): IdentifierMapping; export declare function parseLogicScriptRaw(source: string, scriptPath: string): LogicScriptProgram; export declare function parseLogicScript(rawProgram: LogicScriptProgram, scriptPath: string): LogicScriptParseTree;