# Type Alias: inferProcedureInput<TProcedure>

> 

> **inferProcedureInput**\<`TProcedure`\>: `undefined` *extends* `inferProcedureParams`\<`TProcedure`\>\[`"$types"`\]\[`"input"`\] ? `void` \| `inferProcedureParams`\<`TProcedure`\>\[`"$types"`\]\[`"input"`\] : `inferProcedureParams`\<`TProcedure`\>\[`"$types"`\]\[`"input"`\]

Defined in: [packages/server/src/unstable-core-do-not-import/procedure.ts:102](https://github.com/trpc/trpc/blob/7c907acfd8b31929214792e3b8c2ad7a8ac72563/packages/server/src/unstable-core-do-not-import/procedure.ts#L102)

The input type a procedure takes, before its validators run.

## Type Parameters

| Type Parameter |
| ------ |
| `TProcedure` *extends* [`AnyTRPCProcedure`](https://trpc.io/docs/typedoc/server/index/type-aliases/AnyTRPCProcedure.md) |

## See

https://trpc.io/docs/client/vanilla/infer-types#inferring-individual-procedure-types
