# DependsOptions interface · @imqueue/type-graphql-dependency

Source: https://imqueue.org/api/type-graphql-dependency/latest/type-graphql-dependency.dependsoptions/
Published: 2026-07-31
Author: @imqueue maintainers (https://github.com/imqueue)
Package: @imqueue/type-graphql-dependency 3.0.3 — generated reference, not hand-written

What [DependencyFor()](https://imqueue.org/api/type-graphql-dependency/latest/type-graphql-dependency.dependencyfor/) declares for one class — any combination of requirements, an initializer and a loader.

**Signature:**

```typescript
export interface DependsOptions<T> 
```

## Remarks

All three are optional, and each maps onto its `@imqueue/graphql-dependency` counterpart. Passing none is legal and registers a hook that does nothing.

## Properties


| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [init?](https://imqueue.org/api/type-graphql-dependency/latest/type-graphql-dependency.dependsoptions.init/) |  | DataInitializer<T> | _(Optional)_ An async routine that fills extra fields on this class's objects before its dependencies load, for values a requirement filter needs but the initial result does not carry. |
| [load?](https://imqueue.org/api/type-graphql-dependency/latest/type-graphql-dependency.dependsoptions.load/) |  | DataLoader<T> | _(Optional)_ The bulk fetch for this class, called whenever another class requires it. Every object it returns must carry an `id`, and it must accept a set of values per filter key rather than one. |
| [require?](https://imqueue.org/api/type-graphql-dependency/latest/type-graphql-dependency.dependsoptions.require/) |  | \[() => [DependentType](https://imqueue.org/api/type-graphql-dependency/latest/type-graphql-dependency.dependenttype/), [DependentTypeRelations](https://imqueue.org/api/type-graphql-dependency/latest/type-graphql-dependency.dependenttyperelations/)\[\]\]\[\] | _(Optional)_ The classes this one owns, each paired with its relations — a thunk naming the dependent class, and one [DependentTypeRelations](https://imqueue.org/api/type-graphql-dependency/latest/type-graphql-dependency.dependenttyperelations/) per relation to it. Deferred through a thunk so a class can require another that is not defined yet, which is what makes circular relations expressible. |

