import { Clause } from "../clauses/Clause"; import type { Variable } from "../references/Variable"; import type { Expr } from "../types"; import { WithCall } from "./mixins/clauses/WithCall"; import { WithCallProcedure } from "./mixins/clauses/WithCallProcedure"; import { WithCreate } from "./mixins/clauses/WithCreate"; import { WithFinish } from "./mixins/clauses/WithFinish"; import { WithMatch } from "./mixins/clauses/WithMatch"; import { WithMerge } from "./mixins/clauses/WithMerge"; import { WithReturn } from "./mixins/clauses/WithReturn"; import { WithWith } from "./mixins/clauses/WithWith"; /** @inline */ export type LetBinding = [Variable, Expr]; export interface Let extends WithReturn, WithWith, WithMatch, WithCreate, WithMerge, WithFinish, WithCallProcedure, WithCall { } /** * @see {@link https://neo4j.com/docs/cypher-manual/25/clauses/let/ | Cypher Documentation} * @group Clauses * @since Neo4j 2025.06 */ export declare class Let extends Clause { private readonly bindings; constructor(...bindings: LetBinding[]); /** Append a {@link Let} clause. * @see {@link https://neo4j.com/docs/cypher-manual/25/clauses/let/ | Cypher Documentation} */ let(clause: Let): Let; let(...bindings: LetBinding[]): Let; private getLetClause; }