# Type alias ClassType<P, T, C>

ClassType<P, T, C>: C & (new (props, deprecatedLegacyContext?) => T)

Used in createElement and createFactory to represent a class.

An intersection type is used to infer multiple type parameters from a single argument, which is useful for many top-level API defs. See this GitHub issue for more info.

#### Type Parameters

- P
- T extends Component<P, ComponentState>
- C extends ComponentClass<P>

#### Type declaration

- - new (props, deprecatedLegacyContext?): T

  - #### Parameters

    - props: P
    - `Optional` deprecatedLegacyContext: any

    #### Returns T

- Defined in common/temp/node_modules/.pnpm/@types+react@18.3.3/node_modules/@types/react/index.d.ts:1348