///
///
import { Int } from "../../compilation/types";
import { ExpressionContext, ConstructDescription } from "../../compilation/contexts";
import { SuccessfullyCompiled, RuntimeConstruct } from "../CPPConstruct";
import { Expression, t_TypedExpression } from "./Expression";
import { NullptrExpressionOutlet } from "../../../view/constructs/ExpressionOutlets";
import { ConstructOutlet } from "../../../view/constructs/ConstructOutlet";
import { CompiledTemporaryDeallocator } from "../TemporaryDeallocator";
import { NullptrExpressionASTNode } from "../../../ast/ast_expressions";
import { SimpleRuntimeExpression } from "./SimpleRuntimeExpression";
export declare class NullptrExpression extends Expression {
readonly construct_type = "nullptr_expression";
readonly type: Int;
readonly valueCategory = "prvalue";
constructor(context: ExpressionContext, ast: NullptrExpressionASTNode);
static createFromAST(ast: NullptrExpressionASTNode, context: ExpressionContext): NullptrExpression;
createDefaultOutlet(this: CompiledNullptrExpression, element: JQuery, parent?: ConstructOutlet): NullptrExpressionOutlet;
describeEvalResult(depth: number): ConstructDescription;
}
export interface TypedNullptrExpression extends NullptrExpression, t_TypedExpression {
}
export interface CompiledNullptrExpression extends TypedNullptrExpression, SuccessfullyCompiled {
readonly temporaryDeallocator?: CompiledTemporaryDeallocator;
}
export declare class RuntimeNullptrExpression extends SimpleRuntimeExpression {
constructor(model: CompiledNullptrExpression, parent: RuntimeConstruct);
protected operate(): void;
}