import { Stream } from "../../../common/util/Stream"; import { TypeDBTransaction } from "../../connection/TypeDBTransaction"; import { Concept } from "../Concept"; import { Entity } from "../thing/Entity"; import { ThingType } from "./ThingType"; import Transitivity = Concept.Transitivity; export interface EntityType extends ThingType { /** @inheritDoc */ create(transaction: TypeDBTransaction): Promise; /** @inheritDoc */ getSupertype(transaction: TypeDBTransaction): Promise; /** * Sets the supplied EntityType as the supertype of the current EntityType. * * ### Examples * * ```ts * entityType.setSupertype(transaction, superEntityType).resolve(); * ``` * * @param transaction The current transaction * @param superEntityType The EntityType to set as the supertype of this EntityType */ setSupertype(transaction: TypeDBTransaction, superEntityType: EntityType): Promise; /** @inheritDoc */ getSupertypes(transaction: TypeDBTransaction): Stream; /** @inheritDoc */ getSubtypes(transaction: TypeDBTransaction): Stream; getSubtypes(transaction: TypeDBTransaction, transitivity: Transitivity): Stream; /** @inheritDoc */ getInstances(transaction: TypeDBTransaction): Stream; getInstances(transaction: TypeDBTransaction, transitivity: Transitivity): Stream; } export declare namespace EntityType { const NAME = "entity"; function proto(entityType: EntityType): import("typedb-protocol/proto/concept").EntityType; }