import { Program } from './types';
export declare class CodeGenerator {
    private indentLevel;
    private readonly indentSize;
    private importCounter;
    private readonly builtinMappings;
    generate(ast: Program): string;
    private generateProgram;
    private generateStatement;
    private generateVariableDeclaration;
    private generateFunctionDeclaration;
    private generateBlockStatement;
    private generateReturnStatement;
    private generateIfStatement;
    private generateWhileStatement;
    private generateForStatement;
    private generateExpressionStatement;
    private generateExpression;
    private generateSimpleExpression;
    private generateOperatorExpression;
    private generateCallAssignmentExpression;
    private generateStructuralExpression;
    private generateSpecialExpression;
    private generateImportExpression;
    private handleUnknownExpression;
    private generateImportDeclaration;
    private generateExportDeclaration;
    private generateIdentifier;
    private generateLiteral;
    private generateTemplateLiteral;
    private generateBinaryExpression;
    private generateUnaryExpression;
    private generateUpdateExpression;
    private generateCallExpression;
    private generateAssignmentExpression;
    private generateMemberExpression;
    private generateArrayExpression;
    private generateObjectExpression;
    private generateTryStatement;
    private generateThrowStatement;
    private generateAwaitExpression;
    private generateNewExpression;
    private generateInterfaceDeclaration;
    private generateTypeAlias;
    private generateClassDeclaration;
    private generateMethodDefinition;
    private generatePropertyDefinition;
    private needsParentheses;
    private generateSwitchStatement;
    private generatePattern;
    private generateArrayPattern;
    private generateObjectPattern;
    private generatePropertyPattern;
    private generateSpreadElement;
    private indent;
    private getIndent;
}
//# sourceMappingURL=codegen.d.ts.map