module Infer : sig ... end
module Keyof : sig ... end
module Tuple : sig ... end
module Array : sig ... end
module Union : sig ... end
type ('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) t
and ('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