import { PersistedObject, PersistedGraphObjectProperties, PersistedSearchDocumentProperties, PersistedObjectFromIntegrationProperties, PersistedObjectFromPowerupProperties } from './persisted-object'; export declare type EntityPropertyValuePrimitive = string | number | boolean; export declare type EntityPropertyValue = EntityPropertyValuePrimitive | EntityPropertyValuePrimitive[] | undefined | null; export declare type EntityAdditionalProperties = { [key: string]: EntityPropertyValue; }; /** * This type is used to describe the properties that can be assigned * by integrations to entities and not already found in * `PersistedObjectAssignable`. */ export declare type EntityAssignable = {}; export declare type EntityFromIntegrationProperties = PersistedObjectFromIntegrationProperties; export declare type EntityFromPowerupProperties = PersistedObjectFromPowerupProperties; export declare type EntityCoreProperties = PersistedObject & EntityAssignable; /** * An `Entity` represents a vertex in graph database. * * The properties that begin with "_" are built-in properties * and have special meaning and usually managed internally * by the system. * * The properties that do not begin with "_" are properties whose * values were provided by the integration. */ export declare type Entity = EntityCoreProperties & EntityAdditionalProperties; /** * `PersistedEntity` is an `Entity` with additional `_graphObjectId` property. */ export declare type PersistedEntity = Entity & PersistedGraphObjectProperties; /** * `EntitySearchDocument` is an `Entity` with additional * `_graphObjectId` and `_graphObjectType` properties. */ export declare type EntitySearchDocument = PersistedEntity & PersistedSearchDocumentProperties;