import { QueryNode } from './base.js'; import type { VariableQueryNode } from './variables.js'; export interface UpdateChildEntitiesQueryNodeParams { /** * The original list of child entities */ readonly originalList: QueryNode; /** * A variable to use as a dictionary for existing child entities * * This variable will be set to an object like { id1: childEntity1, id2: childEntity2 }. The * updateQueryNode can use a DynamicPropertyAccessQueryNode(dictionaryVar, id) to access the old * child entity */ readonly dictionaryVar: VariableQueryNode; /** * The list of child entity updates * * A PropertyAccessQueryNode(dictionaryVar, id) can be used to access the old value for the * respective DynamicPropertyAccessQueryNode entity */ readonly updates: ReadonlyArray; } export interface ChildEntityUpdate { /** * A node that evaluates to the child entity id */ readonly idNode: QueryNode; /** * A node that evaluates to the new value of the child entity */ readonly newChildEntityNode: QueryNode; } /** * Updates multiple objects in a list, each identified by an "id" field */ export declare class UpdateChildEntitiesQueryNode extends QueryNode { /** * The original list of child entities */ readonly originalList: QueryNode; /** * A variable to use as a dictionary for existing child entities * * This variable will be set to an object like { id1: childEntity1, id2: childEntity2 }. The * updateQueryNode can use a DynamicPropertyAccessQueryNode(dictionaryVar, id) to access the old * child entity */ readonly dictionaryVar: VariableQueryNode; /** * The list of child entity updates * * A PropertyAccessQueryNode(dictionaryVar, id) can be used to access the old value for the * respective DynamicPropertyAccessQueryNode entity */ readonly updates: ReadonlyArray; constructor(params: UpdateChildEntitiesQueryNodeParams); describe(): string; }