Module ReasonReact

type reactClass;
type jsProps;
type reactElement;
type reactRef;
external null: reactElement = "BS:4.0.7��� ������ ��� @@$null@@""null";
external string: string => reactElement = "%identity";
external array: array(reactElement) => reactElement = "%identity";
external refToJsObj: reactRef => Js.t({.. }) = "%identity";
external createElement: reactClass => ?⁠props:Js.t({.. }) => array(reactElement) => reactElement = "BS:4.0.7���2������1���-B@B%props@@@-createElement%react@A@""createElement";
external cloneElement: reactElement => ?⁠props:Js.t({.. }) => array(reactElement) => reactElement = "BS:4.0.7���1������1���-B@B%props@@@,cloneElement%react@A@""cloneElement";
external createElementVerbatim: 'a = "BS:4.0.7������������@@-createElement%react@@""createElement";
let createDomElement: 'a => props:'b => Js.Array.t('c) => 'd;
external magicNull: 'a = "BS:4.0.7��� ������ ��� @@$null@@""null";
type reactClassInternal = reactClass;
type renderNotImplemented =
| RenderNotImplemented
;
type element =
| Element(component) : element
;
type jsPropsToReason('jsProps) = Js.Internal.fn([ `Arity_1('jsProps) ], component);
type jsElementWrapped = option((key:Js.nullable(string) => ref:Js.nullable((Js.nullable(reactRef) => unit)) => reactElement));
type component = {
debugName: string,
reactClassInternal: reactClassInternal,
jsElementWrapped: jsElementWrapped,
render: unit => reactElement,
};
let anyToUnit: 'a => unit;
let anyToTrue: 'a => bool;
let renderDefault: unit => reactElement;
let convertPropsIfTheyreFromJs: 'a => string => 'b;
let createClass: string => reactClass;
let component: string => component;
let statelessComponent: string => component;
let element: ?⁠key:string => ?⁠ref:(Js.nullable(reactRef) => unit) => component => reactElement;
let wrapReasonForJs: component:component => jsPropsToReason('jsProps) => reactClassInternal;
module WrapProps: { ... };
let wrapJsForReason: reactClass:reactClass => props:'a => 'b => component;
module Router: { ... };
external fragment: 'a = "BS:4.0.7������������@@(Fragment%react@@""Fragment";