# filterEdges

Filter edges.

## Signatures

```ts
export declare const filterEdges: {
    <E>(predicate: (data: E) => boolean): <N, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>) => Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
    <N, E, T extends Graph.Kind, Err, R>(ref: RefGraph<N, E, T, Err, R>, predicate: (data: E) => boolean): Effect.Effect<Graph.Graph<N, E, T>, Err, R>;
};
```

## Why

Applies `filterEdges` through `RefSubject.update` and publishes one coherent graph replacement;
this is a mutation, not a read-only Computed projection.

## Ownership and lifetime

The Effect starts when run, participates in the source ref's serialized update boundary, and
acquires no resource. It returns the committed graph and retains the ref's E and R channels.
