import type { Expr } from "../../types";
import { CypherFunction } from "./CypherFunctions";
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-coalesce | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function coalesce(expr: Expr, ...optionalExpr: Expr[]): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-elementid | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function elementId(variable: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-endnode | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function endNode(relationship: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-head | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function head(expr: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-last | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function last(expr: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-length | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function length(path: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-properties | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function properties(expr: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-randomuuid | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function randomUUID(): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-size | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function size(expr: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-startnode | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function startNode(relationship: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-timestamp | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function timestamp(): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-toboolean | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function toBoolean(expr: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-tobooleanornull | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function toBooleanOrNull(expr: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-tofloat | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function toFloat(expr: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-tofloatornull | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function toFloatOrNull(expr: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-tointeger | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function toInteger(expr: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-tointegerornull | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function toIntegerOrNull(expr: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-type | Cypher Documentation}
 * @group Functions
 * @category Scalar
 */
export declare function type(relationship: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-valueType | Cypher Documentation}
 * @group Functions
 * @category Scalar
 * @since Neo4j 5.13
 */
export declare function valueType(expr: Expr): CypherFunction;
/** Alias of size()
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-char_length | Cypher Documentation}
 * @group Functions
 * @category Scalar
 * @since Neo4j 5.13
 */
export declare function char_length(expr: Expr): CypherFunction;
/** Alias of size()
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-character_length | Cypher Documentation}
 * @group Functions
 * @category Scalar
 * @since Neo4j 5.13
 */
export declare function character_length(expr: Expr): CypherFunction;
/**
 * @see {@link https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-nullIf | Cypher Documentation}
 * @group Functions
 * @category Scalar
 * @since Neo4j 5.14
 */
export declare function nullIf(expr1: Expr, expr2: Expr): CypherFunction;
