import { CypherASTNode } from "../../CypherASTNode";
import type { CypherEnvironment } from "../../Environment";
import type { Expr, NormalizationType } from "../../types";
type ComparisonOperator = "=" | "<" | ">" | "<>" | "<=" | ">=" | "IS NULL" | "IS NOT NULL" | "IN" | "CONTAINS" | "STARTS WITH" | "ENDS WITH" | "=~" | "IS NORMALIZED" | "IS NOT NORMALIZED";
/**
 * Comparison operator expression. Created using comparison operator functions.
 * @group Operators
 * @category Comparison
 * @example
 * ```
 * const op = Cypher.gt(var1, var2);
 * ```
 */
export declare class ComparisonOp extends CypherASTNode {
    protected operator: ComparisonOperator;
    protected leftExpr: Expr;
    protected rightExpr: Expr | undefined;
    /** @internal */
    constructor(operator: ComparisonOperator, left: Expr, right: Expr | undefined);
    /**
     * @internal
     */
    getCypher(env: CypherEnvironment): string;
}
/** Equality (`=`) operator
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 */
export declare function eq(leftExpr: Expr, rightExpr: Expr): ComparisonOp;
/** Inequality (`<>`) operator
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 */
export declare function neq(leftExpr: Expr, rightExpr: Expr): ComparisonOp;
/** Greater Than (`>`) operator
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 */
export declare function gt(leftExpr: Expr, rightExpr: Expr): ComparisonOp;
/** Greater Than Equal (`>=`) operator
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 */
export declare function gte(leftExpr: Expr, rightExpr: Expr): ComparisonOp;
/** Less Than (`<`) operator
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 */
export declare function lt(leftExpr: Expr, rightExpr: Expr): ComparisonOp;
/** Less Than Equal (`<=`) operator
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 */
export declare function lte(leftExpr: Expr, rightExpr: Expr): ComparisonOp;
/** `IS NULL` operator
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 * @example
 * ```cypher
 * this0.title IS NULL
 * ```
 */
export declare function isNull(childExpr: Expr): ComparisonOp;
/** `IS NOT NULL` operator
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 * @example
 * ```cypher
 * this0.title IS NULL
 * ```
 */
export declare function isNotNull(childExpr: Expr): ComparisonOp;
/** `IN` operator
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 */
export declare function inOp(leftExpr: Expr, rightExpr: Expr): ComparisonOp;
/** `CONTAINS` operator
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 */
export declare function contains(leftExpr: Expr, rightExpr: Expr): ComparisonOp;
/** `STARTS WITH` operator
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 */
export declare function startsWith(leftExpr: Expr, rightExpr: Expr): ComparisonOp;
/** `ENDS WITH` operator
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 */
export declare function endsWith(leftExpr: Expr, rightExpr: Expr): ComparisonOp;
/** Matching (=~) operator.
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 */
export declare function matches(leftExpr: Expr, rightExpr: Expr): ComparisonOp;
/** `IS NORMALIZED` operator
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 * @since Neo4j 5.17
 */
export declare function isNormalized(leftExpr: Expr, normalizationType?: NormalizationType): ComparisonOp;
/** `IS NOT NORMALIZED` operator
 * @see {@link https://neo4j.com/docs/cypher-manual/current/syntax/operators/#query-operators-comparison | Cypher Documentation}
 * @group Operators
 * @category Comparison
 */
export declare function isNotNormalized(leftExpr: Expr, normalizationType?: NormalizationType): ComparisonOp;
export {};
