/** * This module contains basic methods for interacting with OCaml */ export { MlArray, MlTuple, MlList, MlOption, MlBool, MlBytes }; type MlTuple = [0, X, Y]; type MlArray = [0, ...T[]]; type MlList = [0, T, 0 | MlList]; type MlOption = 0 | [0, T]; type MlBool = 0 | 1; /** * js_of_ocaml representation of a byte array, * see https://github.com/ocsigen/js_of_ocaml/blob/master/runtime/mlBytes.js */ type MlBytes = { t: number; c: string; l: number; }; declare const MlArray: { to(arr: T[]): MlArray; from([, ...arr]: MlArray): T_1[]; }; declare const MlTuple: ((x: X, y: Y) => MlTuple) & { from([, x, y]: MlTuple): [X_1, Y_1]; first(t: MlTuple): X_2; second(t: MlTuple): Y_2; }; declare const MlBool: ((b: boolean) => MlBool) & { from(b: MlBool): boolean; };