///
///
import { StatementASTNode } from "../../../ast/ast_statements";
import { StatementOutlet } from "../../../view/constructs/StatementOutlets";
import { ConstructOutlet } from "../../../view/constructs/ConstructOutlet";
import { BlockContext } from "../../compilation/contexts";
import { RuntimeFunction } from "../../compilation/functions";
import { RuntimeConstruct, SuccessfullyCompiled } from "../CPPConstruct";
import { BasicCPPConstruct } from "../BasicCPPConstruct";
import { Block } from "./Block";
export declare abstract class Statement extends BasicCPPConstruct {
abstract createDefaultOutlet(this: CompiledStatement, element: JQuery, parent?: ConstructOutlet): StatementOutlet;
isBlock(): this is Block;
}
export interface CompiledStatement extends Statement, SuccessfullyCompiled {
}
export declare abstract class RuntimeStatement extends RuntimeConstruct {
readonly containingRuntimeFunction: RuntimeFunction;
constructor(model: C, parent: RuntimeStatement | RuntimeFunction);
}