import type { EntityVertexId, OntologyTypeVertexId, OutwardEdge, Subgraph } from "../../types/subgraph.js"; import type { EntityRevisionId } from "@blockprotocol/graph"; import type { BaseUrl, EntityId, OntologyTypeVersion } from "@blockprotocol/type-system"; /** * Looking to build a subgraph? You probably want {@link buildSubgraph} from `@blockprotocol/graph/stdlib` * * This MUTATES the given {@link Subgraph} by adding the given {@link OutwardEdge} to `edges` object from the * given element at the specified point. * * Mutating a Subgraph is unsafe in most situations – you should know why you need to do it. * * @param {Subgraph} subgraph – the subgraph to mutate by adding the outward edge * @param {EntityId | BaseUrl} sourceBaseId – the id of the element the edge is coming from * @param {string} at – the identifier for the revision, or the timestamp, at which the edge was added * @param {OutwardEdge} outwardEdge – the edge itself */ export declare const addOutwardEdgeToSubgraphByMutation: (subgraph: Subgraph, sourceBaseId: BaseUrl | EntityId, at: OntologyTypeVersion | EntityRevisionId, outwardEdge: OutwardEdge) => void; /** * @todo - with the introduction of non-primitive data types edges will need to be added here * * Looking to build a subgraph? You probably want {@link buildSubgraph} from `@blockprotocol/graph/stdlib` * * This MUTATES the given {@link Subgraph} by creating any ontology related edges that are **directly implied** by the given data type ids (see note below). * Mutating a Subgraph is unsafe in most situations – you should know why you need to do it. * * *Note*: This only creates edges when both endpoints are present in the {@link Subgraph} regardless of whether the data types reference more vertices. * * @param {Subgraph} subgraph – the subgraph to mutate by adding edges * @param {OntologyTypeVertexId[]} dataTypeVertexIds - the IDs of the data types to resolve edges for */ export declare const inferDataTypeEdgesInSubgraphByMutation: (_subgraph: Subgraph, _dataTypeVertexIds: OntologyTypeVertexId[]) => void; /** * Looking to build a subgraph? You probably want {@link buildSubgraph} from `@blockprotocol/graph/stdlib` * * This MUTATES the given {@link Subgraph} by creating any ontology related edges that are **directly implied** by them (see note below). * Mutating a Subgraph is unsafe in most situations – you should know why you need to do it. * * *Note*: This only creates edges when both endpoints are present in the {@link Subgraph} regardless of whether the property types reference more vertices. * * @param {Subgraph} subgraph – the subgraph to mutate by adding edges * @param {OntologyTypeVertexId[]} propertyTypeVertexIds - the IDs of the property types to resolve edges for */ export declare const inferPropertyTypeEdgesInSubgraphByMutation: (subgraph: Subgraph, propertyTypeVertexIds: OntologyTypeVertexId[]) => undefined; /** * Looking to build a subgraph? You probably want {@link buildSubgraph} from `@blockprotocol/graph/stdlib` * * This MUTATES the given {@link Subgraph} by creating any ontology related edges that are **directly implied** by them (see note below). * Mutating a Subgraph is unsafe in most situations – you should know why you need to do it. * * *Note*: This only creates edges when both endpoints are present in the {@link Subgraph} regardless of whether the entity types reference more vertices. * * @param {Subgraph} subgraph – the subgraph to mutate by adding edges * @param {OntologyTypeVertexId[]} entityTypeVertexIds - the IDs of the entity types to resolve edges for */ export declare const inferEntityTypeEdgesInSubgraphByMutation: (subgraph: Subgraph, entityTypeVertexIds: OntologyTypeVertexId[]) => undefined; /** * Looking to build a subgraph? You probably want {@link buildSubgraph} from `@blockprotocol/graph/stdlib` * * This MUTATES the given {@link Subgraph} by creating any link edges and ontology related edges that are **directly implied** by the entities in the list (see note below). * Mutating a Subgraph is unsafe in most situations – you should know why you need to do it. * * *Note*: This only creates edges when both endpoints are present in the {@link Subgraph} regardless of whether the entities reference more vertices. * * @param {Subgraph} subgraph – the subgraph to mutate by adding edges * @param {EntityVertexId[]} entityVertexIds - the IDs of the entities to resolve edges for */ export declare const inferEntityEdgesInSubgraphByMutation: (subgraph: Subgraph, entityVertexIds: EntityVertexId[]) => undefined;