import type { FieldPath } from '../../model/implementation/field-path.js'; import type { Field } from '../../model/implementation/field.js'; import type { RootEntityType } from '../../model/implementation/root-entity-type.js'; import type { QueryNode } from '../../query-tree/base.js'; import { PreExecQueryParms } from '../../query-tree/pre-exec.js'; import type { PlainObject } from '../../utils/utils.js'; import type { CreateRootEntityInputType } from '../create-input-types/input-types.js'; import type { FieldContext } from '../query-node-object-type/context.js'; export declare function getSetEdgeStatements(sourceField: Field, sourceIDNode: QueryNode, targetID: string | null): ReadonlyArray; export declare function getAddEdgesStatements(sourceField: Field, sourceIDNode: QueryNode, targetIDs: ReadonlyArray): PreExecQueryParms[]; export declare function getCreateAndAddEdgesStatements(sourceField: Field, sourceIDNode: QueryNode, createRootEntityInputType: CreateRootEntityInputType, createInputs: ReadonlyArray, context: FieldContext): PreExecQueryParms[]; export declare function getCreateAndSetEdgeStatements(sourceField: Field, sourceIDNode: QueryNode, createRootEntityInputType: CreateRootEntityInputType, createInput: PlainObject, context: FieldContext): ReadonlyArray; export declare function getRemoveEdgesStatements(sourceField: Field, sourceIDNode: QueryNode, targetIDs: ReadonlyArray): ReadonlyArray; export interface GetPreEntityRemovalStatementsOptions { /** * An array of paths to fields that should be treated as if they were configured with * onDelete=CASCADE */ readonly additionalCascadeFields?: ReadonlyArray; } /** * Gets a list of statements covering the relation delete actions (including edge removal) of a list of root entities */ export declare function getPreEntityRemovalStatements(rootEntityType: RootEntityType, sourceIDsNode: QueryNode, { additionalCascadeFields }?: GetPreEntityRemovalStatementsOptions): ReadonlyArray;