import * as React from 'react'; declare type TypeNameMap = T extends string ? 'string' : T extends number ? 'number' : T extends boolean ? 'boolean' : T extends undefined ? 'undefined' : T extends Function ? 'function' : 'object'; declare type PropDescriptor = { type: TypeNameMap; } & (T extends undefined ? { defaultValue?: undefined; } : { defaultValue: T; }); declare type PropDescriptorMap

= { [K in keyof Complete

]: PropDescriptor; }; declare type Complete = { [P in keyof Required]: Pick extends Required> ? T[P] : T[P] | undefined; }; export declare const createElementClass:

>(Component: React.ComponentType

, propDescriptors: PropDescriptorMap

) => new () => HTMLElement; export {};