///
///
import { ExpressionStatementASTNode } from "../../../ast/ast_statements";
import { ConstructOutlet } from "../../../view/constructs/ConstructOutlet";
import { BlockContext, SemanticContext } from "../../compilation/contexts";
import { AnalyticConstruct } from "../../../analysis/predicates";
import { CPPConstruct, SuccessfullyCompiled } from "../CPPConstruct";
import { CompiledExpression, Expression } from "../expressions/Expression";
import { RuntimeExpression } from "../expressions/RuntimeExpression";
import { Statement, RuntimeStatement } from "./Statement";
import { ExpressionStatementOutlet } from "../../../view/constructs/StatementOutlets";
export declare class ExpressionStatement extends Statement {
readonly construct_type = "expression_statement";
readonly expression: Expression;
static createFromAST(ast: ExpressionStatementASTNode, context: BlockContext): ExpressionStatement;
constructor(context: BlockContext, ast: ExpressionStatementASTNode, expression: Expression);
createDefaultOutlet(this: CompiledExpressionStatement, element: JQuery, parent?: ConstructOutlet): ExpressionStatementOutlet;
isTailChild(child: CPPConstruct): {
isTail: boolean;
};
isSemanticallyEquivalent_impl(other: AnalyticConstruct, equivalenceContext: SemanticContext): boolean;
}
export interface CompiledExpressionStatement extends ExpressionStatement, SuccessfullyCompiled {
readonly expression: CompiledExpression;
}
export declare class RuntimeExpressionStatement extends RuntimeStatement {
expression: RuntimeExpression;
private index;
constructor(model: CompiledExpressionStatement, parent: RuntimeStatement);
protected upNextImpl(): void;
protected stepForwardImpl(): void;
}