import { Entity, IdentifiableEntity, Mutation } from '../../api/types'; import AEntityUpdateRequest, { UpdateEntityFunction } from './AEntityUpdateRequest'; import { EntityFieldKeyDefinition, FieldReference } from '../fieldReferences'; import { EntityResponseData } from '../../api/generate/generateEntityQuery'; /** * Deletes a value from an entity * * sourceKey is used for local update * deleteKey, then updateKey and at last the sourceKey is used for graphql update */ export default class EntityDeleteValueRequest extends AEntityUpdateRequest { sourceKey: FieldReference; deleteKey: FieldReference; constructor(fieldDef: EntityFieldKeyDefinition); performLocalUpdate(entity: E, updateEntity: UpdateEntityFunction): void; performGraphqlUpdate(entity: IdentifiableEntity, updateMutation: Mutation): Promise>; }