# IMQClientOptions interface · @imqueue/rpc

Source: https://imqueue.org/api/rpc/latest/rpc.imqclientoptions/
Published: 2026-08-04
Author: @imqueue maintainers (https://github.com/imqueue)
Package: @imqueue/rpc 3.5.3 — generated reference, not hand-written

Options accepted by a generated IMQ client.

**Signature:**

```typescript
export interface IMQClientOptions extends IMQOptions 
```
**Extends:** IMQOptions

## Remarks

Extends the core queue options, so all transport settings are accepted as well. Note that `path`, `compile`, `write` and `timeout` affect code generation only and have no effect on an already-generated client at runtime.

## Properties


| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [afterCall?](https://imqueue.org/api/rpc/latest/rpc.imqclientoptions.aftercall/) |  | [IMQAfterCall](https://imqueue.org/api/rpc/latest/rpc.imqaftercall/)<[IMQClient](https://imqueue.org/api/rpc/latest/rpc.imqclient/)> | _(Optional)_ Post-settle hook. See [IMQAfterCall](https://imqueue.org/api/rpc/latest/rpc.imqaftercall/). |
| [beforeCall?](https://imqueue.org/api/rpc/latest/rpc.imqclientoptions.beforecall/) |  | [IMQBeforeCall](https://imqueue.org/api/rpc/latest/rpc.imqbeforecall/)<[IMQClient](https://imqueue.org/api/rpc/latest/rpc.imqclient/)> | _(Optional)_ Pre-dispatch hook. See [IMQBeforeCall](https://imqueue.org/api/rpc/latest/rpc.imqbeforecall/); on a client it receives the request only. |
| [callTimeout?](https://imqueue.org/api/rpc/latest/rpc.imqclientoptions.calltimeout/) |  | number | _(Optional)_ Per-call timeout in milliseconds. |
| [compile](https://imqueue.org/api/rpc/latest/rpc.imqclientoptions.compile/) |  | boolean | Transpile the generated client and evaluate it in-process, returning its exports. |
| [path](https://imqueue.org/api/rpc/latest/rpc.imqclientoptions.path/) |  | string | Directory the generated client is written to, resolved relative to the process working directory. |
| [singleQueue?](https://imqueue.org/api/rpc/latest/rpc.imqclientoptions.singlequeue/) |  | boolean | _(Optional)_ Share a single reply queue and transport connection across every client in the process, instead of one per client. |
| [timeout](https://imqueue.org/api/rpc/latest/rpc.imqclientoptions.timeout/) |  | number | Milliseconds the client generator waits for the target service to answer its description request before failing. |
| [write](https://imqueue.org/api/rpc/latest/rpc.imqclientoptions.write/) |  | boolean | Persist the generated `.ts` and `.js` pair in [IMQClientOptions.path](https://imqueue.org/api/rpc/latest/rpc.imqclientoptions.path/). |

