# TopologyEdgeBinding

`import { TopologyEdgeBinding } from "destack:topology/binding";`

Topology edge binding family.

```ds title="TopologyEdgeBinding"
export interface TopologyEdgeBinding {
    defineKind(world: WorldHandle, kind: EdgeKindRecord): Result<void, HostError>;
    undefineKind(world: WorldHandle, kind: EdgeKind): Result<void, HostError>;
    upsert(world: WorldHandle, edge: EdgeRecord): Result<EdgeId, HostError>;
    remove(world: WorldHandle, edge: EdgeId): Result<boolean, HostError>;
    list(world: WorldHandle, selector?: EdgeSelector | undefined): Result<[EdgeRecord], HostError>;
}
```

[language/library/src/topology/binding/edge.ds:7:47](https://github.com/destack-sh/destack/blob/main/language/library/src/topology/binding/edge.ds#L7-L47)

## Members

### `defineKind(world: WorldHandle, kind: EdgeKindRecord): Result<void, HostError>`

Define one runtime topology edge kind.

### `undefineKind(world: WorldHandle, kind: EdgeKind): Result<void, HostError>`

Undefine one runtime topology edge kind.

### `upsert(world: WorldHandle, edge: EdgeRecord): Result<EdgeId, HostError>`

Upsert one runtime topology edge.

### `remove(world: WorldHandle, edge: EdgeId): Result<boolean, HostError>`

Remove one runtime topology edge.

### `list(world: WorldHandle, selector?: EdgeSelector | undefined): Result<[EdgeRecord], HostError>`

Return runtime topology edges.
