module Infer : sig ... endmodule Keyof : sig ... endmodule Tuple : sig ... endmodule Array : sig ... endmodule Union : sig ... endtype ('M, 'T) t = 'T * ('M, 'T) t'and ('M, 'T) t' = | Any of ('M, unit) Syntax.t option| Mixed of ('M, unit) Syntax.t option| Empty of ('M, unit) Syntax.t option| Void of ('M, unit) Syntax.t option| Null of ('M, unit) Syntax.t option| Number of ('M, unit) Syntax.t option| BigInt of ('M, unit) Syntax.t option| String of ('M, unit) Syntax.t option| Boolean of {raw : [ `Boolean | `Bool ];
}| Symbol of ('M, unit) Syntax.t option| Exists of ('M, unit) Syntax.t option| Nullable of ('M, 'T) Nullable.t| Function of ('M, 'T) Function.t| Component of ('M, 'T) Component.t| Object of ('M, 'T) Object.t| Interface of ('M, 'T) Interface.t| Array of ('M, 'T) Array.t| Conditional of ('M, 'T) Conditional.t| Infer of ('M, 'T) Infer.t| Generic of ('M, 'T) Generic.t| IndexedAccess of ('M, 'T) IndexedAccess.t| OptionalIndexedAccess of ('M, 'T) OptionalIndexedAccess.t| Union of ('M, 'T) Union.t| Intersection of ('M, 'T) Intersection.t| Typeof of ('M, 'T) Typeof.t| Keyof of ('M, 'T) Keyof.t| Renders of ('M, 'T) Renders.t| ReadOnly of ('M, 'T) ReadOnly.t| Tuple of ('M, 'T) Tuple.t| StringLiteral of 'M StringLiteral.t| NumberLiteral of 'M NumberLiteral.t| BigIntLiteral of 'M BigIntLiteral.t| BooleanLiteral of 'M BooleanLiteral.t| Unknown of ('M, unit) Syntax.t option| Never of ('M, unit) Syntax.t option| Undefined of ('M, unit) Syntax.t option
and ('M, 'T) annotation = 'M * ('M, 'T) tand ('M, 'T) annotation_or_hint = | Missing of 'T| Available of ('M, 'T) annotation
and ('M, 'T) component_renders_annotation = | MissingRenders of 'T| AvailableRenders of 'M * ('M, 'T) Renders.t