/**
 * This module was automatically generated by `ts-interface-builder`
 */
import * as t from "ts-interface-checker";
// tslint:disable:object-literal-key-quotes

export const GristObjCode = t.enumtype({
  "List": "L",
  "Dict": "O",
  "DateTime": "D",
  "Date": "d",
  "Skip": "S",
  "Censored": "C",
  "Reference": "R",
  "ReferenceList": "r",
  "Exception": "E",
  "Pending": "P",
  "Unmarshallable": "U",
  "Versions": "V",
});

export const CellValue = t.union("number", "string", "boolean", "null", t.tuple("GristObjCode", t.rest(t.array("unknown"))));

export const RowRecord = t.iface([], {
  "id": "number",
  [t.indexKey]: "CellValue",
});

const exportedTypeSuite: t.ITypeSuite = {
  GristObjCode,
  CellValue,
  RowRecord,
};
export default exportedTypeSuite;
