import { ExpressionOperator } from "./ExpressionOperator";
/**
 * Provides a way of expression operations that can be evaluated at run-time
 */
export declare class Expression {
    operator: ExpressionOperator;
    operands: unknown[];
    previous?: Expression | undefined;
    constructor(operator: ExpressionOperator, operands: unknown[], previous?: Expression | undefined);
    /**
     * Helper method to create a literal value with an optional type provided.
     * @param value The literal value.
     * @param literalType The type of the literal value (may be different than the runtime type given).
     */
    static literal<T>(value: T, literalType?: string): TypedExpression;
}
/**
 * An @type {Expression} that indicates the type of the result. Primarily used for providing type checking for TypeScript.
 */
export declare class TypedExpression extends Expression {
}
