import { DatatypeControl, Datatypes, IsDatatype } from "./Datatypes"; import { IsPrimitive, PrimitiveControl, Primitives } from "./Primitives"; import { AllControls, ObjectControl } from "./Typing"; type ExtractWidenKeys = { [K in keyof T]: U extends T[K] ? K : never }[keyof T]; type ConvertControl = T extends IsPrimitive ? PrimitiveControl> : T extends IsDatatype ? DatatypeControl> : T extends ObjectControl ? T : never; declare function ConvertControl(control: T): ConvertControl;