import type { JSONSupport, JSONSupportMixinProperties } from "../../core/JSONSupport.js";

export interface SourceTypeValueBehaviorProperties extends JSONSupportMixinProperties {}

/**
 * An entity type defines a homogeneous collection of [entities](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-knowledgeGraph-Entity.html) with a common set of properties and a spatial feature type.
 * For example, an entity type defining vehicles could define properties including model and license plate, and an optional geometry.
 * Multiple instances of an entity type can be added to a [knowledge graph](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-knowledgeGraph-KnowledgeGraph.html). For example, to describe a family,
 * multiple instances of the person entity type can be defined, along with multiple instances of vehicles and buildings with which the family is associated.
 *
 * @since 4.31
 */
export default class SourceTypeValueBehavior extends JSONSupport {
  constructor(properties?: SourceTypeValueBehaviorProperties);
  /** Specifies the behavior from ('URL', 'String', or 'Document') of the source type value. */
  get behavior(): string | null | undefined;
  /** Specifies the source type value. */
  get value(): string | null | undefined;
}