# Interface: unstable_TRPCQueryHandle<TDef>

> 

Defined in: [tanstack-react-query/src/internals/handles.ts:54](https://github.com/trpc/trpc/blob/772a6ababaab0ae3b76fabf186e5398945f03bab/packages/tanstack-react-query/src/internals/handles.ts#L54)

A serializable reference to a query started on the server (or in a loader).
Pass it to a client component and read it with `trpc.unstable_$fromHandle(handle)`.

## Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
| `TDef` *extends* `ResolverDef` | `ResolverDef` |

## Properties

### \[handleDef\]

> `readonly` **\[handleDef\]**: `TDef` & `object`

Defined in: [tanstack-react-query/src/internals/handles.ts:61](https://github.com/trpc/trpc/blob/772a6ababaab0ae3b76fabf186e5398945f03bab/packages/tanstack-react-query/src/internals/handles.ts#L61)

Type-only: never present at runtime. Required, so only the handle verbs
create handles.

#### Type declaration

##### kind

> **kind**: `"query"`

***

### input

> `readonly` **input**: `TDef`\[`"input"`\]

Defined in: [tanstack-react-query/src/internals/handles.ts:64](https://github.com/trpc/trpc/blob/772a6ababaab0ae3b76fabf186e5398945f03bab/packages/tanstack-react-query/src/internals/handles.ts#L64)

The input the query was started with

***

### queryKey

> `readonly` **queryKey**: `HandleQueryKey`\<`TDef`, `TDef`\[`"input"`\], `"query"`\>

Defined in: [tanstack-react-query/src/internals/handles.ts:62](https://github.com/trpc/trpc/blob/772a6ababaab0ae3b76fabf186e5398945f03bab/packages/tanstack-react-query/src/internals/handles.ts#L62)
