///
///
import { ArithmeticType } from "../../compilation/types";
import { ExpressionContext, ConstructDescription, SemanticContext } from "../../compilation/contexts";
import { SuccessfullyCompiled, RuntimeConstruct } from "../CPPConstruct";
import { Value, RawValueType } from "../../runtime/Value";
import { Expression, t_TypedExpression } from "./Expression";
import { RuntimeExpression } from "./RuntimeExpression";
import { NumericLiteralOutlet } from "../../../view/constructs/ExpressionOutlets";
import { ConstructOutlet } from "../../../view/constructs/ConstructOutlet";
import { AnalyticConstruct } from "../../../analysis/predicates";
import { CompiledTemporaryDeallocator } from "../TemporaryDeallocator";
import { NumericLiteralASTNode } from "../../../ast/ast_expressions";
export declare class NumericLiteralExpression extends Expression {
readonly construct_type = "numeric_literal_expression";
readonly type: ArithmeticType;
readonly valueCategory = "prvalue";
readonly value: Value;
constructor(context: ExpressionContext, ast: NumericLiteralASTNode | undefined, type: ArithmeticType, value: RawValueType);
static createFromAST(ast: NumericLiteralASTNode, context: ExpressionContext): NumericLiteralExpression;
createDefaultOutlet(this: CompiledNumericLiteralExpression, element: JQuery, parent?: ConstructOutlet): NumericLiteralOutlet;
describeEvalResult(depth: number): ConstructDescription;
isSemanticallyEquivalent_impl(other: AnalyticConstruct, ec: SemanticContext): boolean;
}
export interface TypedNumericLiteralExpression extends NumericLiteralExpression, t_TypedExpression {
readonly type: T;
}
export interface CompiledNumericLiteralExpression extends TypedNumericLiteralExpression, SuccessfullyCompiled {
readonly temporaryDeallocator?: CompiledTemporaryDeallocator;
}
export declare class RuntimeNumericLiteral extends RuntimeExpression> {
constructor(model: CompiledNumericLiteralExpression, parent: RuntimeConstruct);
protected upNextImpl(): void;
protected stepForwardImpl(): void;
}