# ExtractVariables | @coopenomics/sdk
Documentation for @coopenomics/sdk

# Type alias ExtractVariables<Query>

ExtractVariables< Query >: Query extends Variable <infer VType, infer VName>
? {
[key in VName]: GetVariableType <VType>
}
: Query extends [infer Inputs, infer Outputs]
? ExtractVariablesDeep <Inputs> & ExtractVariables <Outputs>
: Query extends string | number | boolean | (string | number | boolean)[]
? {}
: UnionToIntersection<{
[K in keyof Query ]: WithOptionalNullables < ExtractVariables < Query [K]>>
}[keyof Query ]>

#### Type Parameters

- Query

- Defined in components/sdk/src/zeus/index.ts:900