import type { Pattern } from "../index"; import type { PathAssign } from "../pattern/PathAssign"; import { Clause } from "./Clause"; import { WithCreate } from "./mixins/clauses/WithCreate"; import { WithFinish } from "./mixins/clauses/WithFinish"; import { WithLet } from "./mixins/clauses/WithLet"; import { WithReturn } from "./mixins/clauses/WithReturn"; import { WithWith } from "./mixins/clauses/WithWith"; import { WithDelete } from "./mixins/sub-clauses/WithDelete"; import { WithOrder } from "./mixins/sub-clauses/WithOrder"; import { WithSetRemove } from "./mixins/sub-clauses/WithSetRemove"; import type { OnCreateParam } from "./sub-clauses/OnCreate"; export interface Merge extends WithReturn, WithSetRemove, WithDelete, WithWith, WithCreate, WithFinish, WithOrder, WithLet { } /** * @see {@link https://neo4j.com/docs/cypher-manual/current/clauses/merge/ | Cypher Documentation} * @group Clauses */ export declare class Merge extends Clause { private readonly pattern; private readonly onCreateClause; private readonly onMatchClause; constructor(pattern: Pattern | PathAssign); onCreateSet(...onCreateParams: OnCreateParam[]): this; onMatchSet(...onMatchParams: OnCreateParam[]): this; /** Add a {@link Merge} clause * @see {@link https://neo4j.com/docs/cypher-manual/current/clauses/merge/ | Cypher Documentation} */ merge(clauseOrPattern: Merge | Pattern): Merge; }