import { Field, RootEntityType } from '../../model'; import { PreExecQueryParms, QueryNode } from '../../query-tree'; import { PlainObject } from '../../utils/utils'; import { CreateRootEntityInputType } from '../create-input-types'; import { FieldContext } from '../query-node-object-type'; import { FieldPath } from '../../model/implementation/field-path'; 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;