import { Property } from './Property'; import { PropertyValue } from './PropertyValue'; import { SourceId } from './SourceId'; /** * Represents the definition of an entity. */ export declare class EntityType { readonly name: string; readonly description: string; readonly properties: Property[]; readonly identityProperties: Property[]; static unknown: EntityType; /** * Initializes a new instance of {EntityType}. * @param {string} name Name of entity. * @param {...Property[]} properties Property definitions for the entity. */ constructor(name: string, description: string, ...properties: Property[]); /** * Check if entity has a specific property. * @param {string} name Name of property. */ hasProperty(name: string): boolean; /** * Get a specific property by name. * @param {string} name Name of property. * @throws {UnknownPropertyInEntity} When property is unknown. */ getPropertyByName(name: string): Property; /** * Gets identity from given values. * @param {...PropertyValue[]} values Values to get the identity from. * @returns {SourceId} Identity from given values. */ getSourceIdFrom(...values: PropertyValue[]): SourceId; private throwIfMissingIdentityProperties; } //# sourceMappingURL=EntityType.d.ts.map