import * as ts from "ts-morph";
import { CompilerState } from "../CompilerState";
export declare function compileExpression(state: CompilerState, node: ts.Expression): string;
export declare function compileExpressionStatement(state: CompilerState, node: ts.ExpressionStatement): string;
export declare function expressionModifiesVariable(node: ts.Node<ts.ts.Node>, lhs?: ts.Identifier): node is ts.BinaryExpression | ts.PrefixUnaryExpression | ts.PostfixUnaryExpression;
export declare function appendDeclarationIfMissing(state: CompilerState, possibleExpressionStatement: ts.Node, compiledNode: string): string;
export declare function placeIncrementorInStatementIfExpression(state: CompilerState, incrementor: ts.Expression<ts.ts.Expression>, incrementorStr: string): string;
