import * as AST from '../parser/AST.js'; /** * LT → Lua Code Emitter * Generates clean, readable Lua 5.4 code */ export declare class LuaEmitter { private indent; private output; private tempId; private usedVars; private nextTemp; emit(program: AST.Program): string; private analyzeUsages; private emitStatement; private emitVariableDecl; private hasSideEffects; private emitArrayLiteral; private emitAssignment; private emitCompoundAssignment; private emitIfStmt; private emitForStmt; private emitRangeForStmt; private emitWhileStmt; private emitReturnStmt; private emitGuardStmt; private emitSafeCall; private emitThreadStmt; private emitLoopStmt; private emitWaitStmt; private emitTimeoutStmt; private emitIntervalStmt; private emitTryCatch; private emitEmitStmt; private emitEventHandler; private emitFunctionDecl; private emitSwitchStmt; private emitExportDecl; private emitCommandStmt; private emitExpr; private emitInterpolatedString; private emitBinaryExpr; private emitUnaryExpr; private emitCallExpr; private emitMemberExpr; private emitOptionalChain; private emitNullCoalesce; private emitArrowFunc; private emitFunctionExpr; private emitTableLiteral; private emitVectorLiteral; private emitUpdateExpr; private emitConditionalExpr; private emitStatementInline; private hasContinue; private emitBlock; private emitBlockWithContinue; private line; private isSimpleExpr; }