import type Cypher from "@neo4j/cypher-builder"; import type { QueryASTContext } from "../QueryASTContext"; import { QueryASTNode } from "../QueryASTNode"; export type OperationTranspileResult = { projectionExpr: Cypher.Expr; clauses: Cypher.Clause[]; extraProjectionColumns?: Array<[Cypher.Expr, Cypher.Variable]>; }; export declare abstract class Operation extends QueryASTNode { abstract transpile(context: QueryASTContext): OperationTranspileResult; } /** This represent an atomic mutation operation (CREATE, DELETE, UPDATE) * It is not the same as an Operation (as above) because it does not return a projection */ export declare abstract class MutationOperation extends QueryASTNode { abstract transpile(context: QueryASTContext): OperationTranspileResult; /** Used for "AFTER" Auth subqueries, BEFORE subqueries should be part of transpile */ abstract getAuthorizationSubqueries(context: QueryASTContext): Cypher.Clause[]; } //# sourceMappingURL=operations.d.ts.map