# Type Alias: QueryLike<TRoot, TProcedure>

> 

> **QueryLike**\<`TRoot`, `TProcedure`\>: `object`

Defined in: [packages/react-query/src/shared/polymorphism/queryLike.ts:19](https://github.com/trpc/trpc/blob/7c907acfd8b31929214792e3b8c2ad7a8ac72563/packages/react-query/src/shared/polymorphism/queryLike.ts#L19)

Use to request a query route which matches a given query procedure's interface

## Type Parameters

| Type Parameter |
| ------ |
| `TRoot` *extends* `AnyRootTypes` |
| `TProcedure` *extends* `AnyProcedure` |

## Type declaration

### useQuery()

> **useQuery**: (`variables`, `opts`?) => `InferQueryResult`\<`TRoot`, `TProcedure`\>

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `variables` | `inferProcedureInput`\<`TProcedure`\> |
| `opts`? | `InferQueryOptions`\<`TRoot`, `TProcedure`, `any`\> |

#### Returns

`InferQueryResult`\<`TRoot`, `TProcedure`\>

### useSuspenseQuery()

> **useSuspenseQuery**: (`variables`, `opts`?) => `UseTRPCSuspenseQueryResult`\<`inferProcedureOutput`\<`TProcedure`\>, [`TRPCClientErrorLike`](https://trpc.io/docs/typedoc/react-query/index/type-aliases/TRPCClientErrorLike.md)\<`TRoot`\>\>

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `variables` | `inferProcedureInput`\<`TProcedure`\> |
| `opts`? | `InferQueryOptions`\<`TRoot`, `TProcedure`, `any`\> |

#### Returns

`UseTRPCSuspenseQueryResult`\<`inferProcedureOutput`\<`TProcedure`\>, [`TRPCClientErrorLike`](https://trpc.io/docs/typedoc/react-query/index/type-aliases/TRPCClientErrorLike.md)\<`TRoot`\>\>
