# Type Alias: inferSubscriptionOutput<TProcedure>

> 

> **inferSubscriptionOutput**\<`TProcedure`\>: `TProcedure` *extends* `LegacyObservableSubscriptionProcedure`\<`any`\> ? [`inferProcedureOutput`](https://trpc.io/docs/typedoc/server/index/type-aliases/inferProcedureOutput.md)\<`TProcedure`\> : `inferAsyncIterableYield`\<[`inferProcedureOutput`](https://trpc.io/docs/typedoc/server/index/type-aliases/inferProcedureOutput.md)\<`TProcedure`\>\>

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

The type of each event a subscription procedure emits.

## Type Parameters

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

## See

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