To take a type of properties from component
type Props = typeof MyComponent.defaultProps;
You can ask yourself why I'm taking typeof from defaultProps and not from propTypes. To explain that lets take a look at the definition file
interface ComponentClass<P> {
new(props?: P, context?: any): Component<P, ComponentState>;
propTypes?: ValidationMap<P>;
contextTypes?: ValidationMap<any>;
childContextTypes?: ValidationMap<any>;
defaultProps?: P;
displayName?: string;
}
As you can see propTypes are wrapped in ValidationMap and it's not easy to get raw types. Fortunately the, defaultProps have raw types