// TypeScript bindings for emscripten-generated code.  Automatically generated at compile time.
declare namespace RuntimeExports {
    let wasmMemory: any;
}
interface WasmModule {
  __ZdlPvm(_0: number, _1: number): void;
  __ZdaPv(_0: number): void;
  __ZdlPv(_0: number): void;
  _emscripten_builtin_free(_0: number): void;
  _emscripten_builtin_malloc(_0: number): number;
  _strndup(_0: number, _1: number): number;
  __ZdaPvm(_0: number, _1: number): void;
  __Znaj(_0: number): number;
  __ZnajSt11align_val_t(_0: number, _1: number): number;
  __Znwj(_0: number): number;
  __ZnwjSt11align_val_t(_0: number, _1: number): number;
  ___libc_calloc(_0: number, _1: number): number;
  ___libc_free(_0: number): void;
  ___libc_malloc(_0: number): number;
  ___libc_realloc(_0: number, _1: number): number;
  _emscripten_builtin_calloc(_0: number, _1: number): number;
  _emscripten_builtin_realloc(_0: number, _1: number): number;
  _malloc_size(_0: number): number;
  _malloc_usable_size(_0: number): number;
  _reallocf(_0: number, _1: number): number;
}

type EmbindString = ArrayBuffer|Uint8Array|Uint8ClampedArray|Int8Array|string;
export interface ClassHandle {
  isAliasOf(other: ClassHandle): boolean;
  delete(): void;
  deleteLater(): this;
  isDeleted(): boolean;
  // @ts-ignore - If targeting lower than ESNext, this symbol might not exist.
  [Symbol.dispose](): void;
  clone(): this;
}
export interface NativeInt32NDArray extends ClassHandle {
  data(): any;
  size(): number;
  ndim(): number;
  shape(): any;
  shape_at(_0: number): number;
  set_shape(_0: any): void;
  row(_0: number): NativeInt32NDArray;
  slice(_0: number, _1: number): NativeInt32NDArray;
  destroy(): void;
  is_valid(): boolean;
  shared_view(): NativeInt32NDArray;
}

export interface NativeInt8NDArray extends ClassHandle {
  data(): any;
  size(): number;
  ndim(): number;
  shape(): any;
  shape_at(_0: number): number;
  set_shape(_0: any): void;
  row(_0: number): NativeInt8NDArray;
  slice(_0: number, _1: number): NativeInt8NDArray;
  destroy(): void;
  is_valid(): boolean;
  shared_view(): NativeInt8NDArray;
}

export interface NativeFloat32NDArray extends ClassHandle {
  data(): any;
  size(): number;
  ndim(): number;
  shape(): any;
  shape_at(_0: number): number;
  set_shape(_0: any): void;
  row(_0: number): NativeFloat32NDArray;
  slice(_0: number, _1: number): NativeFloat32NDArray;
  destroy(): void;
  is_valid(): boolean;
  shared_view(): NativeFloat32NDArray;
}

export interface NativeOffsetBlockedIntBuffer extends ClassHandle {
  offsets(): NativeInt32NDArray;
  data(): NativeInt32NDArray;
  size(): number;
  get(_0: number): NativeInt32NDArray;
  destroy(): void;
  is_valid(): boolean;
}

export interface NativeMesh extends ClassHandle {
  faces(): NativeInt32NDArray;
  points(): NativeFloat32NDArray;
  number_of_faces(): number;
  number_of_points(): number;
  set_faces(_0: NativeInt32NDArray): void;
  set_points(_0: NativeFloat32NDArray): void;
  shared_view(): NativeMesh;
  face_membership(): NativeOffsetBlockedIntBuffer;
  manifold_edge_link(): NativeInt32NDArray;
  face_link(): NativeOffsetBlockedIntBuffer;
  vertex_link(): NativeOffsetBlockedIntBuffer;
  normals(): NativeFloat32NDArray;
  point_normals(): NativeFloat32NDArray;
  set_face_membership(_0: NativeOffsetBlockedIntBuffer): void;
  set_vertex_link(_0: NativeOffsetBlockedIntBuffer): void;
  set_face_link(_0: NativeOffsetBlockedIntBuffer): void;
  set_manifold_edge_link(_0: NativeInt32NDArray): void;
  set_normals(_0: NativeFloat32NDArray): void;
  set_point_normals(_0: NativeFloat32NDArray): void;
  has_transformation(): boolean;
  transformation(): NativeFloat32NDArray;
  set_transformation(_0: NativeFloat32NDArray): void;
  clear_transformation(): void;
  ensure_tree(): void;
  destroy(): void;
  is_valid(): boolean;
}

export interface NativePointCloud extends ClassHandle {
  points(): NativeFloat32NDArray;
  number_of_points(): number;
  set_points(_0: NativeFloat32NDArray): void;
  vertex_link(): NativeOffsetBlockedIntBuffer;
  has_vertex_link(): boolean;
  set_vertex_link(_0: NativeOffsetBlockedIntBuffer): void;
  normals(): NativeFloat32NDArray;
  has_normals(): boolean;
  set_normals(_0: NativeFloat32NDArray): void;
  shared_view(): NativePointCloud;
  has_transformation(): boolean;
  transformation(): NativeFloat32NDArray;
  set_transformation(_0: NativeFloat32NDArray): void;
  clear_transformation(): void;
  ensure_tree(): void;
  destroy(): void;
  is_valid(): boolean;
}

export interface NativeCurves extends ClassHandle {
  paths(): NativeOffsetBlockedIntBuffer;
  points(): NativeFloat32NDArray;
  size(): number;
  destroy(): void;
  is_valid(): boolean;
}

export type IndexMap = {
  f: NativeInt32NDArray,
  keptIds: NativeInt32NDArray
};

export type LabeledCutResult = {
  mesh: NativeMesh,
  labels: NativeInt8NDArray
};

export type LabeledCutResultWithCurves = {
  mesh: NativeMesh,
  labels: NativeInt8NDArray,
  curves: NativeCurves
};

export type IsobandsResult = {
  mesh: NativeMesh,
  labels: NativeInt32NDArray
};

export type IsobandsResultWithCurves = {
  mesh: NativeMesh,
  labels: NativeInt32NDArray,
  curves: NativeCurves
};

export type CutResultWithCurves = {
  mesh: NativeMesh,
  curves: NativeCurves
};

export type MetricPointResult = {
  point: NativeFloat32NDArray,
  distance2: number
};

export type MetricPointBatchResult = {
  points: NativeFloat32NDArray,
  distances: NativeFloat32NDArray
};

export type MetricPointPairResult = {
  point0: NativeFloat32NDArray,
  point1: NativeFloat32NDArray,
  distance2: number
};

export type MetricPointPairBatchResult = {
  points0: NativeFloat32NDArray,
  points1: NativeFloat32NDArray,
  distances: NativeFloat32NDArray
};

export type RayCastResult = {
  hit: boolean,
  t: number,
  elementId: number
};

export type RayCastPrimBatchResult = {
  hits: NativeInt8NDArray,
  ts: NativeFloat32NDArray
};

export type RayCastFormBatchResult = {
  hits: NativeInt8NDArray,
  ts: NativeFloat32NDArray,
  elementIds: NativeInt32NDArray
};

export type NeighborResult = {
  elementId: number,
  distance2: number,
  point: NativeFloat32NDArray
};

export type NeighborBatchResult = {
  elementIds: NativeInt32NDArray,
  points: NativeFloat32NDArray,
  distances: NativeFloat32NDArray
};

export type NeighborResultPair = {
  elementId0: number,
  elementId1: number,
  distance2: number,
  point0: NativeFloat32NDArray,
  point1: NativeFloat32NDArray
};

export type NeighborKnnResult = {
  elementIds: NativeInt32NDArray,
  points: NativeFloat32NDArray,
  distances: NativeFloat32NDArray
};

export type NeighborKnnBatchResult = {
  elementIds: NativeInt32NDArray,
  points: NativeFloat32NDArray,
  distances: NativeFloat32NDArray,
  counts: NativeInt32NDArray
};

export type CurvatureResult = {
  k0: NativeFloat32NDArray,
  k1: NativeFloat32NDArray
};

export type CurvatureDirectionsResult = {
  k0: NativeFloat32NDArray,
  k1: NativeFloat32NDArray,
  d0: NativeFloat32NDArray,
  d1: NativeFloat32NDArray
};

export type CleanedMeshResult = {
  mesh: NativeMesh,
  faceMap: IndexMap,
  pointMap: IndexMap
};

export type CleanedPointsResult = {
  points: NativeFloat32NDArray,
  pointMap: IndexMap
};

export type ReindexedMeshResult = {
  mesh: NativeMesh,
  faceMap: IndexMap,
  pointMap: IndexMap
};

export type ConnectedComponentsResult = {
  labels: NativeInt32NDArray,
  nComponents: number
};

interface EmbindModule {
  NativeInt32NDArray: {
    from_js(_0: any, _1: any): NativeInt32NDArray;
  };
  NativeInt8NDArray: {
    from_js(_0: any, _1: any): NativeInt8NDArray;
  };
  NativeFloat32NDArray: {
    from_js(_0: any, _1: any): NativeFloat32NDArray;
  };
  stack_float32(_0: any, _1: number): NativeFloat32NDArray;
  stack_int32(_0: any, _1: number): NativeInt32NDArray;
  stack_int8(_0: any, _1: number): NativeInt8NDArray;
  concatenate_float32(_0: any, _1: number): NativeFloat32NDArray;
  concatenate_int32(_0: any, _1: number): NativeInt32NDArray;
  concatenate_int8(_0: any, _1: number): NativeInt8NDArray;
  tile_float32(_0: NativeFloat32NDArray, _1: any): NativeFloat32NDArray;
  tile_int32(_0: NativeInt32NDArray, _1: any): NativeInt32NDArray;
  tile_int8(_0: NativeInt8NDArray, _1: any): NativeInt8NDArray;
  take_float32(_0: NativeFloat32NDArray, _1: NativeInt32NDArray, _2: number): NativeFloat32NDArray;
  take_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray, _2: number): NativeInt32NDArray;
  take_int8(_0: NativeInt8NDArray, _1: NativeInt32NDArray, _2: number): NativeInt8NDArray;
  multi_take_float32(_0: NativeFloat32NDArray, _1: any): NativeFloat32NDArray;
  multi_take_int32(_0: NativeInt32NDArray, _1: any): NativeInt32NDArray;
  multi_take_int8(_0: NativeInt8NDArray, _1: any): NativeInt8NDArray;
  take_along_axis_float32(_0: NativeFloat32NDArray, _1: NativeInt32NDArray, _2: number): NativeFloat32NDArray;
  take_along_axis_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray, _2: number): NativeInt32NDArray;
  take_along_axis_int8(_0: NativeInt8NDArray, _1: NativeInt32NDArray, _2: number): NativeInt8NDArray;
  argsort_float32(_0: NativeFloat32NDArray): NativeInt32NDArray;
  argsort_int32(_0: NativeInt32NDArray): NativeInt32NDArray;
  argsort_int8(_0: NativeInt8NDArray): NativeInt32NDArray;
  sort_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  sort_int32(_0: NativeInt32NDArray): NativeInt32NDArray;
  sort_int8(_0: NativeInt8NDArray): NativeInt8NDArray;
  sort_inplace_float32(_0: NativeFloat32NDArray): void;
  sort_inplace_int32(_0: NativeInt32NDArray): void;
  sort_inplace_int8(_0: NativeInt8NDArray): void;
  dispatch_sort_float32(_0: NativeFloat32NDArray): number;
  dispatch_sort_int32(_0: NativeInt32NDArray): number;
  dispatch_sort_int8(_0: NativeInt8NDArray): number;
  dispatch_sort_inplace_float32(_0: NativeFloat32NDArray): number;
  dispatch_sort_inplace_int32(_0: NativeInt32NDArray): number;
  dispatch_sort_inplace_int8(_0: NativeInt8NDArray): number;
  dispatch_argsort_float32(_0: NativeFloat32NDArray): number;
  dispatch_argsort_int32(_0: NativeInt32NDArray): number;
  dispatch_argsort_int8(_0: NativeInt8NDArray): number;
  unique_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  unique_int32(_0: NativeInt32NDArray): NativeInt32NDArray;
  unique_int8(_0: NativeInt8NDArray): NativeInt8NDArray;
  dispatch_unique_float32(_0: NativeFloat32NDArray): number;
  dispatch_unique_int32(_0: NativeInt32NDArray): number;
  dispatch_unique_int8(_0: NativeInt8NDArray): number;
  set_union_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeFloat32NDArray;
  set_union_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt32NDArray;
  set_union_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  dispatch_set_union_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_set_union_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_set_union_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  set_intersection_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeFloat32NDArray;
  set_intersection_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt32NDArray;
  set_intersection_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  dispatch_set_intersection_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_set_intersection_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_set_intersection_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  set_difference_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeFloat32NDArray;
  set_difference_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt32NDArray;
  set_difference_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  dispatch_set_difference_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_set_difference_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_set_difference_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  boolean_index_float32(_0: NativeFloat32NDArray, _1: NativeInt8NDArray): NativeFloat32NDArray;
  boolean_index_int32(_0: NativeInt32NDArray, _1: NativeInt8NDArray): NativeInt32NDArray;
  boolean_index_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  where_float32(_0: NativeInt8NDArray, _1: NativeFloat32NDArray, _2: NativeFloat32NDArray): NativeFloat32NDArray;
  where_int32(_0: NativeInt8NDArray, _1: NativeInt32NDArray, _2: NativeInt32NDArray): NativeInt32NDArray;
  where_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray, _2: NativeInt8NDArray): NativeInt8NDArray;
  transpose_float32(_0: NativeFloat32NDArray, _1: any): NativeFloat32NDArray;
  transpose_int32(_0: NativeInt32NDArray, _1: any): NativeInt32NDArray;
  transpose_int8(_0: NativeInt8NDArray, _1: any): NativeInt8NDArray;
  zeros_float32(_0: any): NativeFloat32NDArray;
  zeros_int32(_0: any): NativeInt32NDArray;
  zeros_int8(_0: any): NativeInt8NDArray;
  ones_float32(_0: any): NativeFloat32NDArray;
  ones_int32(_0: any): NativeInt32NDArray;
  ones_int8(_0: any): NativeInt8NDArray;
  full_float32(_0: any, _1: number): NativeFloat32NDArray;
  full_int32(_0: any, _1: number): NativeInt32NDArray;
  full_int8(_0: any, _1: number): NativeInt8NDArray;
  arange_float32(_0: number, _1: number, _2: number): NativeFloat32NDArray;
  arange_int32(_0: number, _1: number, _2: number): NativeInt32NDArray;
  linspace_float32(_0: number, _1: number, _2: number): NativeFloat32NDArray;
  clone_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  clone_int32(_0: NativeInt32NDArray): NativeInt32NDArray;
  clone_int8(_0: NativeInt8NDArray): NativeInt8NDArray;
  retrieve(_0: number): any;
  init_tbb(): number;
  sum_float32(_0: NativeFloat32NDArray, _1: number): any;
  sum_int32(_0: NativeInt32NDArray, _1: number): any;
  min_float32(_0: NativeFloat32NDArray, _1: number): any;
  min_int32(_0: NativeInt32NDArray, _1: number): any;
  max_float32(_0: NativeFloat32NDArray, _1: number): any;
  max_int32(_0: NativeInt32NDArray, _1: number): any;
  mean_float32(_0: NativeFloat32NDArray, _1: number): any;
  mean_int32(_0: NativeInt32NDArray, _1: number): any;
  norm_float32(_0: NativeFloat32NDArray, _1: number): any;
  norm_int32(_0: NativeInt32NDArray, _1: number): any;
  sum_int8(_0: NativeInt8NDArray, _1: number): any;
  min_int8(_0: NativeInt8NDArray, _1: number): any;
  max_int8(_0: NativeInt8NDArray, _1: number): any;
  mean_int8(_0: NativeInt8NDArray, _1: number): any;
  norm_int8(_0: NativeInt8NDArray, _1: number): any;
  dispatch_sum_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_sum_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_min_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_min_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_max_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_max_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_mean_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_mean_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_norm_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_norm_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_sum_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_min_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_max_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_mean_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_norm_int8(_0: NativeInt8NDArray, _1: number): number;
  argmin_float32(_0: NativeFloat32NDArray, _1: number): any;
  argmin_int32(_0: NativeInt32NDArray, _1: number): any;
  argmin_int8(_0: NativeInt8NDArray, _1: number): any;
  argmax_float32(_0: NativeFloat32NDArray, _1: number): any;
  argmax_int32(_0: NativeInt32NDArray, _1: number): any;
  argmax_int8(_0: NativeInt8NDArray, _1: number): any;
  any_int8(_0: NativeInt8NDArray, _1: number): any;
  all_int8(_0: NativeInt8NDArray, _1: number): any;
  dispatch_argmin_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_argmin_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_argmin_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_argmax_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_argmax_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_argmax_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_any_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_all_int8(_0: NativeInt8NDArray, _1: number): number;
  add_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeFloat32NDArray;
  add_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt32NDArray;
  add_inplace_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): void;
  add_inplace_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): void;
  add_scalar_float32(_0: NativeFloat32NDArray, _1: number): NativeFloat32NDArray;
  add_scalar_int32(_0: NativeInt32NDArray, _1: number): NativeInt32NDArray;
  add_scalar_inplace_float32(_0: NativeFloat32NDArray, _1: number): void;
  add_scalar_inplace_int32(_0: NativeInt32NDArray, _1: number): void;
  sub_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeFloat32NDArray;
  sub_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt32NDArray;
  sub_inplace_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): void;
  sub_inplace_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): void;
  sub_scalar_float32(_0: NativeFloat32NDArray, _1: number): NativeFloat32NDArray;
  sub_scalar_int32(_0: NativeInt32NDArray, _1: number): NativeInt32NDArray;
  sub_scalar_inplace_float32(_0: NativeFloat32NDArray, _1: number): void;
  sub_scalar_inplace_int32(_0: NativeInt32NDArray, _1: number): void;
  mul_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeFloat32NDArray;
  mul_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt32NDArray;
  mul_inplace_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): void;
  mul_inplace_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): void;
  mul_scalar_float32(_0: NativeFloat32NDArray, _1: number): NativeFloat32NDArray;
  mul_scalar_int32(_0: NativeInt32NDArray, _1: number): NativeInt32NDArray;
  mul_scalar_inplace_float32(_0: NativeFloat32NDArray, _1: number): void;
  mul_scalar_inplace_int32(_0: NativeInt32NDArray, _1: number): void;
  mat_mul_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeFloat32NDArray;
  mat_mul_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt32NDArray;
  dispatch_add_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_add_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_sub_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_sub_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_mul_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_mul_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_add_scalar_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_add_scalar_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_sub_scalar_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_sub_scalar_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_mul_scalar_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_mul_scalar_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_mat_mul_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_mat_mul_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_add_inplace_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_add_inplace_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_sub_inplace_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_sub_inplace_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_mul_inplace_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_mul_inplace_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_add_scalar_inplace_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_add_scalar_inplace_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_sub_scalar_inplace_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_sub_scalar_inplace_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_mul_scalar_inplace_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_mul_scalar_inplace_int32(_0: NativeInt32NDArray, _1: number): number;
  div_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeFloat32NDArray;
  div_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt32NDArray;
  div_inplace_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): void;
  div_inplace_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): void;
  div_scalar_float32(_0: NativeFloat32NDArray, _1: number): NativeFloat32NDArray;
  div_scalar_int32(_0: NativeInt32NDArray, _1: number): NativeInt32NDArray;
  div_scalar_inplace_float32(_0: NativeFloat32NDArray, _1: number): void;
  div_scalar_inplace_int32(_0: NativeInt32NDArray, _1: number): void;
  dispatch_div_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_div_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_div_scalar_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_div_scalar_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_div_inplace_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_div_inplace_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_div_scalar_inplace_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_div_scalar_inplace_int32(_0: NativeInt32NDArray, _1: number): number;
  mod_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeFloat32NDArray;
  mod_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt32NDArray;
  mod_inplace_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): void;
  mod_inplace_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): void;
  mod_scalar_float32(_0: NativeFloat32NDArray, _1: number): NativeFloat32NDArray;
  mod_scalar_int32(_0: NativeInt32NDArray, _1: number): NativeInt32NDArray;
  mod_scalar_inplace_float32(_0: NativeFloat32NDArray, _1: number): void;
  mod_scalar_inplace_int32(_0: NativeInt32NDArray, _1: number): void;
  dispatch_mod_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_mod_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_mod_scalar_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_mod_scalar_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_mod_inplace_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_mod_inplace_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_mod_scalar_inplace_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_mod_scalar_inplace_int32(_0: NativeInt32NDArray, _1: number): number;
  neg_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  neg_int32(_0: NativeInt32NDArray): NativeInt32NDArray;
  neg_int8(_0: NativeInt8NDArray): NativeInt8NDArray;
  neg_inplace_float32(_0: NativeFloat32NDArray): void;
  neg_inplace_int32(_0: NativeInt32NDArray): void;
  neg_inplace_int8(_0: NativeInt8NDArray): void;
  dispatch_neg_float32(_0: NativeFloat32NDArray): number;
  dispatch_neg_int32(_0: NativeInt32NDArray): number;
  dispatch_neg_int8(_0: NativeInt8NDArray): number;
  abs_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  abs_int32(_0: NativeInt32NDArray): NativeInt32NDArray;
  abs_int8(_0: NativeInt8NDArray): NativeInt8NDArray;
  abs_inplace_float32(_0: NativeFloat32NDArray): void;
  abs_inplace_int32(_0: NativeInt32NDArray): void;
  abs_inplace_int8(_0: NativeInt8NDArray): void;
  dispatch_abs_float32(_0: NativeFloat32NDArray): number;
  dispatch_abs_int32(_0: NativeInt32NDArray): number;
  dispatch_abs_int8(_0: NativeInt8NDArray): number;
  sqrt_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  sqrt_inplace_float32(_0: NativeFloat32NDArray): void;
  dispatch_sqrt_float32(_0: NativeFloat32NDArray): number;
  clip_float32(_0: NativeFloat32NDArray, _1: number, _2: number): NativeFloat32NDArray;
  clip_int32(_0: NativeInt32NDArray, _1: number, _2: number): NativeInt32NDArray;
  clip_int8(_0: NativeInt8NDArray, _1: number, _2: number): NativeInt8NDArray;
  clip_inplace_float32(_0: NativeFloat32NDArray, _1: number, _2: number): void;
  clip_inplace_int32(_0: NativeInt32NDArray, _1: number, _2: number): void;
  clip_inplace_int8(_0: NativeInt8NDArray, _1: number, _2: number): void;
  dispatch_clip_float32(_0: NativeFloat32NDArray, _1: number, _2: number): number;
  dispatch_clip_int32(_0: NativeInt32NDArray, _1: number, _2: number): number;
  dispatch_clip_int8(_0: NativeInt8NDArray, _1: number, _2: number): number;
  dispatch_clip_inplace_float32(_0: NativeFloat32NDArray, _1: number, _2: number): number;
  dispatch_clip_inplace_int32(_0: NativeInt32NDArray, _1: number, _2: number): number;
  dispatch_clip_inplace_int8(_0: NativeInt8NDArray, _1: number, _2: number): number;
  sin_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  sin_inplace_float32(_0: NativeFloat32NDArray): void;
  dispatch_sin_float32(_0: NativeFloat32NDArray): number;
  dispatch_sin_inplace_float32(_0: NativeFloat32NDArray): number;
  cos_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  cos_inplace_float32(_0: NativeFloat32NDArray): void;
  dispatch_cos_float32(_0: NativeFloat32NDArray): number;
  dispatch_cos_inplace_float32(_0: NativeFloat32NDArray): number;
  tan_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  tan_inplace_float32(_0: NativeFloat32NDArray): void;
  dispatch_tan_float32(_0: NativeFloat32NDArray): number;
  dispatch_tan_inplace_float32(_0: NativeFloat32NDArray): number;
  asin_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  asin_inplace_float32(_0: NativeFloat32NDArray): void;
  dispatch_asin_float32(_0: NativeFloat32NDArray): number;
  dispatch_asin_inplace_float32(_0: NativeFloat32NDArray): number;
  acos_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  acos_inplace_float32(_0: NativeFloat32NDArray): void;
  dispatch_acos_float32(_0: NativeFloat32NDArray): number;
  dispatch_acos_inplace_float32(_0: NativeFloat32NDArray): number;
  atan_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  atan_inplace_float32(_0: NativeFloat32NDArray): void;
  dispatch_atan_float32(_0: NativeFloat32NDArray): number;
  dispatch_atan_inplace_float32(_0: NativeFloat32NDArray): number;
  atan2_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeFloat32NDArray;
  dispatch_atan2_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  exp_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  exp_inplace_float32(_0: NativeFloat32NDArray): void;
  dispatch_exp_float32(_0: NativeFloat32NDArray): number;
  dispatch_exp_inplace_float32(_0: NativeFloat32NDArray): number;
  log_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  log_inplace_float32(_0: NativeFloat32NDArray): void;
  dispatch_log_float32(_0: NativeFloat32NDArray): number;
  dispatch_log_inplace_float32(_0: NativeFloat32NDArray): number;
  log2_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  log2_inplace_float32(_0: NativeFloat32NDArray): void;
  dispatch_log2_float32(_0: NativeFloat32NDArray): number;
  dispatch_log2_inplace_float32(_0: NativeFloat32NDArray): number;
  log10_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  log10_inplace_float32(_0: NativeFloat32NDArray): void;
  dispatch_log10_float32(_0: NativeFloat32NDArray): number;
  dispatch_log10_inplace_float32(_0: NativeFloat32NDArray): number;
  floor_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  floor_inplace_float32(_0: NativeFloat32NDArray): void;
  dispatch_floor_float32(_0: NativeFloat32NDArray): number;
  dispatch_floor_inplace_float32(_0: NativeFloat32NDArray): number;
  ceil_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  ceil_inplace_float32(_0: NativeFloat32NDArray): void;
  dispatch_ceil_float32(_0: NativeFloat32NDArray): number;
  dispatch_ceil_inplace_float32(_0: NativeFloat32NDArray): number;
  round_float32(_0: NativeFloat32NDArray): NativeFloat32NDArray;
  round_inplace_float32(_0: NativeFloat32NDArray): void;
  dispatch_round_float32(_0: NativeFloat32NDArray): number;
  dispatch_round_inplace_float32(_0: NativeFloat32NDArray): number;
  pow_float32(_0: NativeFloat32NDArray, _1: number): NativeFloat32NDArray;
  pow_inplace_float32(_0: NativeFloat32NDArray, _1: number): void;
  dispatch_pow_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_pow_inplace_float32(_0: NativeFloat32NDArray, _1: number): number;
  dot_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeFloat32NDArray;
  dot_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt32NDArray;
  dispatch_dot_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_dot_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  cross_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeFloat32NDArray;
  cross_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt32NDArray;
  dispatch_cross_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_cross_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  not_int8(_0: NativeInt8NDArray): NativeInt8NDArray;
  and_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  or_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  dispatch_not_int8(_0: NativeInt8NDArray): number;
  dispatch_and_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_or_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  add_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  sub_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  mul_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  div_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  mod_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  add_inplace_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): void;
  sub_inplace_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): void;
  mul_inplace_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): void;
  div_inplace_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): void;
  mod_inplace_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): void;
  add_scalar_int8(_0: NativeInt8NDArray, _1: number): NativeInt8NDArray;
  sub_scalar_int8(_0: NativeInt8NDArray, _1: number): NativeInt8NDArray;
  mul_scalar_int8(_0: NativeInt8NDArray, _1: number): NativeInt8NDArray;
  div_scalar_int8(_0: NativeInt8NDArray, _1: number): NativeInt8NDArray;
  mod_scalar_int8(_0: NativeInt8NDArray, _1: number): NativeInt8NDArray;
  add_scalar_inplace_int8(_0: NativeInt8NDArray, _1: number): void;
  sub_scalar_inplace_int8(_0: NativeInt8NDArray, _1: number): void;
  mul_scalar_inplace_int8(_0: NativeInt8NDArray, _1: number): void;
  div_scalar_inplace_int8(_0: NativeInt8NDArray, _1: number): void;
  mod_scalar_inplace_int8(_0: NativeInt8NDArray, _1: number): void;
  dispatch_add_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_sub_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_mul_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_div_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_mod_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_add_inplace_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_sub_inplace_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_mul_inplace_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_div_inplace_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_mod_inplace_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_add_scalar_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_sub_scalar_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_mul_scalar_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_div_scalar_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_mod_scalar_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_add_scalar_inplace_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_sub_scalar_inplace_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_mul_scalar_inplace_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_div_scalar_inplace_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_mod_scalar_inplace_int8(_0: NativeInt8NDArray, _1: number): number;
  eq_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeInt8NDArray;
  eq_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt8NDArray;
  eq_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  eq_scalar_float32(_0: NativeFloat32NDArray, _1: number): NativeInt8NDArray;
  eq_scalar_int32(_0: NativeInt32NDArray, _1: number): NativeInt8NDArray;
  eq_scalar_int8(_0: NativeInt8NDArray, _1: number): NativeInt8NDArray;
  neq_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeInt8NDArray;
  neq_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt8NDArray;
  neq_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  neq_scalar_float32(_0: NativeFloat32NDArray, _1: number): NativeInt8NDArray;
  neq_scalar_int32(_0: NativeInt32NDArray, _1: number): NativeInt8NDArray;
  neq_scalar_int8(_0: NativeInt8NDArray, _1: number): NativeInt8NDArray;
  lt_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeInt8NDArray;
  lt_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt8NDArray;
  lt_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  lt_scalar_float32(_0: NativeFloat32NDArray, _1: number): NativeInt8NDArray;
  lt_scalar_int32(_0: NativeInt32NDArray, _1: number): NativeInt8NDArray;
  lt_scalar_int8(_0: NativeInt8NDArray, _1: number): NativeInt8NDArray;
  gt_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeInt8NDArray;
  gt_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt8NDArray;
  gt_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  gt_scalar_float32(_0: NativeFloat32NDArray, _1: number): NativeInt8NDArray;
  gt_scalar_int32(_0: NativeInt32NDArray, _1: number): NativeInt8NDArray;
  gt_scalar_int8(_0: NativeInt8NDArray, _1: number): NativeInt8NDArray;
  lte_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeInt8NDArray;
  lte_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt8NDArray;
  lte_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  lte_scalar_float32(_0: NativeFloat32NDArray, _1: number): NativeInt8NDArray;
  lte_scalar_int32(_0: NativeInt32NDArray, _1: number): NativeInt8NDArray;
  lte_scalar_int8(_0: NativeInt8NDArray, _1: number): NativeInt8NDArray;
  gte_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): NativeInt8NDArray;
  gte_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): NativeInt8NDArray;
  gte_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): NativeInt8NDArray;
  gte_scalar_float32(_0: NativeFloat32NDArray, _1: number): NativeInt8NDArray;
  gte_scalar_int32(_0: NativeInt32NDArray, _1: number): NativeInt8NDArray;
  gte_scalar_int8(_0: NativeInt8NDArray, _1: number): NativeInt8NDArray;
  dispatch_eq_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_eq_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_eq_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_eq_scalar_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_eq_scalar_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_eq_scalar_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_neq_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_neq_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_neq_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_neq_scalar_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_neq_scalar_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_neq_scalar_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_lt_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_lt_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_lt_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_lt_scalar_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_lt_scalar_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_lt_scalar_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_gt_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_gt_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_gt_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_gt_scalar_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_gt_scalar_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_gt_scalar_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_lte_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_lte_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_lte_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_lte_scalar_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_lte_scalar_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_lte_scalar_int8(_0: NativeInt8NDArray, _1: number): number;
  dispatch_gte_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_gte_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): number;
  dispatch_gte_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): number;
  dispatch_gte_scalar_float32(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_gte_scalar_int32(_0: NativeInt32NDArray, _1: number): number;
  dispatch_gte_scalar_int8(_0: NativeInt8NDArray, _1: number): number;
  cast_int8_to_int32(_0: NativeInt8NDArray): NativeInt32NDArray;
  cast_int8_to_float32(_0: NativeInt8NDArray): NativeFloat32NDArray;
  cast_int32_to_float32(_0: NativeInt32NDArray): NativeFloat32NDArray;
  cast_int32_to_int8(_0: NativeInt32NDArray): NativeInt8NDArray;
  cast_float32_to_int32(_0: NativeFloat32NDArray): NativeInt32NDArray;
  cast_float32_to_int8(_0: NativeFloat32NDArray): NativeInt8NDArray;
  assign_scalar_float32(_0: NativeFloat32NDArray, _1: number): void;
  assign_scalar_int32(_0: NativeInt32NDArray, _1: number): void;
  assign_scalar_int8(_0: NativeInt8NDArray, _1: number): void;
  assign_array_float32(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray): void;
  assign_array_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray): void;
  assign_array_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray): void;
  assign_indexed_scalar_float32(_0: NativeFloat32NDArray, _1: NativeInt32NDArray, _2: number): void;
  assign_indexed_scalar_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray, _2: number): void;
  assign_indexed_scalar_int8(_0: NativeInt8NDArray, _1: NativeInt32NDArray, _2: number): void;
  assign_indexed_array_float32(_0: NativeFloat32NDArray, _1: NativeInt32NDArray, _2: NativeFloat32NDArray): void;
  assign_indexed_array_int32(_0: NativeInt32NDArray, _1: NativeInt32NDArray, _2: NativeInt32NDArray): void;
  assign_indexed_array_int8(_0: NativeInt8NDArray, _1: NativeInt32NDArray, _2: NativeInt8NDArray): void;
  assign_masked_scalar_float32(_0: NativeFloat32NDArray, _1: NativeInt8NDArray, _2: number): void;
  assign_masked_scalar_int32(_0: NativeInt32NDArray, _1: NativeInt8NDArray, _2: number): void;
  assign_masked_scalar_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray, _2: number): void;
  assign_masked_array_float32(_0: NativeFloat32NDArray, _1: NativeInt8NDArray, _2: NativeFloat32NDArray): void;
  assign_masked_array_int32(_0: NativeInt32NDArray, _1: NativeInt8NDArray, _2: NativeInt32NDArray): void;
  assign_masked_array_int8(_0: NativeInt8NDArray, _1: NativeInt8NDArray, _2: NativeInt8NDArray): void;
  NativeOffsetBlockedIntBuffer: {};
  NativeMesh: {
    create(_0: NativeInt32NDArray, _1: NativeFloat32NDArray): NativeMesh;
  };
  NativePointCloud: {
    create(_0: NativeFloat32NDArray): NativePointCloud;
  };
  NativeCurves: {
    create(_0: NativeOffsetBlockedIntBuffer, _1: NativeFloat32NDArray): NativeCurves;
  };
  random_float32(_0: any, _1: number, _2: number): NativeFloat32NDArray;
  random_int32(_0: any, _1: number, _2: number): NativeInt32NDArray;
  read_stl(_0: EmbindString): NativeMesh;
  dispatch_read_stl(_0: EmbindString): number;
  read_stl_buffer(_0: any): NativeMesh;
  dispatch_read_stl_buffer(_0: any): number;
  read_obj(_0: EmbindString): NativeMesh;
  dispatch_read_obj(_0: EmbindString): number;
  read_obj_buffer(_0: any): NativeMesh;
  dispatch_read_obj_buffer(_0: any): number;
  write_stl_buffer(_0: NativeMesh): NativeInt8NDArray;
  dispatch_write_stl_buffer(_0: NativeMesh): number;
  write_obj_buffer(_0: NativeMesh): NativeInt8NDArray;
  dispatch_write_obj_buffer(_0: NativeMesh): number;
  boolean_union(_0: NativeMesh, _1: NativeMesh): LabeledCutResult;
  boolean_intersection(_0: NativeMesh, _1: NativeMesh): LabeledCutResult;
  boolean_difference(_0: NativeMesh, _1: NativeMesh): LabeledCutResult;
  boolean_union_with_curves(_0: NativeMesh, _1: NativeMesh): LabeledCutResultWithCurves;
  boolean_intersection_with_curves(_0: NativeMesh, _1: NativeMesh): LabeledCutResultWithCurves;
  boolean_difference_with_curves(_0: NativeMesh, _1: NativeMesh): LabeledCutResultWithCurves;
  dispatch_boolean_union(_0: NativeMesh, _1: NativeMesh): number;
  dispatch_boolean_intersection(_0: NativeMesh, _1: NativeMesh): number;
  dispatch_boolean_difference(_0: NativeMesh, _1: NativeMesh): number;
  dispatch_boolean_union_with_curves(_0: NativeMesh, _1: NativeMesh): number;
  dispatch_boolean_intersection_with_curves(_0: NativeMesh, _1: NativeMesh): number;
  dispatch_boolean_difference_with_curves(_0: NativeMesh, _1: NativeMesh): number;
  isobands(_0: NativeMesh, _1: NativeFloat32NDArray, _2: any): IsobandsResult;
  isobands_with_curves(_0: NativeMesh, _1: NativeFloat32NDArray, _2: any): IsobandsResultWithCurves;
  isobands_selected(_0: NativeMesh, _1: NativeFloat32NDArray, _2: any, _3: any): IsobandsResult;
  isobands_with_curves_selected(_0: NativeMesh, _1: NativeFloat32NDArray, _2: any, _3: any): IsobandsResultWithCurves;
  dispatch_isobands(_0: NativeMesh, _1: NativeFloat32NDArray, _2: any): number;
  dispatch_isobands_with_curves(_0: NativeMesh, _1: NativeFloat32NDArray, _2: any): number;
  dispatch_isobands_selected(_0: NativeMesh, _1: NativeFloat32NDArray, _2: any, _3: any): number;
  dispatch_isobands_with_curves_selected(_0: NativeMesh, _1: NativeFloat32NDArray, _2: any, _3: any): number;
  embedded_intersection_curves(_0: NativeMesh, _1: NativeMesh): NativeMesh;
  embedded_intersection_curves_with_curves(_0: NativeMesh, _1: NativeMesh): CutResultWithCurves;
  dispatch_embedded_intersection_curves(_0: NativeMesh, _1: NativeMesh): number;
  dispatch_embedded_intersection_curves_with_curves(_0: NativeMesh, _1: NativeMesh): number;
  embedded_self_intersection_curves(_0: NativeMesh): NativeMesh;
  embedded_self_intersection_curves_with_curves(_0: NativeMesh): CutResultWithCurves;
  dispatch_embedded_self_intersection_curves(_0: NativeMesh): number;
  dispatch_embedded_self_intersection_curves_with_curves(_0: NativeMesh): number;
  intersection_curves(_0: NativeMesh, _1: NativeMesh): NativeCurves;
  dispatch_intersection_curves(_0: NativeMesh, _1: NativeMesh): number;
  self_intersection_curves(_0: NativeMesh): NativeCurves;
  dispatch_self_intersection_curves(_0: NativeMesh): number;
  isocontours(_0: NativeMesh, _1: NativeFloat32NDArray, _2: number): NativeCurves;
  dispatch_isocontours(_0: NativeMesh, _1: NativeFloat32NDArray, _2: number): number;
  isocontours_multi(_0: NativeMesh, _1: NativeFloat32NDArray, _2: any): NativeCurves;
  dispatch_isocontours_multi(_0: NativeMesh, _1: NativeFloat32NDArray, _2: any): number;
  distance2_pp(_0: NativeFloat32NDArray, _1: number, _2: NativeFloat32NDArray, _3: number): any;
  dispatch_distance2_pp(_0: NativeFloat32NDArray, _1: number, _2: NativeFloat32NDArray, _3: number): number;
  distance_pp(_0: NativeFloat32NDArray, _1: number, _2: NativeFloat32NDArray, _3: number): any;
  dispatch_distance_pp(_0: NativeFloat32NDArray, _1: number, _2: NativeFloat32NDArray, _3: number): number;
  distance2_fp(_0: NativeMesh, _1: NativeFloat32NDArray, _2: number): any;
  distance2_fp_pc(_0: NativePointCloud, _1: NativeFloat32NDArray, _2: number): any;
  dispatch_distance2_fp(_0: NativeMesh, _1: NativeFloat32NDArray, _2: number): number;
  dispatch_distance2_fp_pc(_0: NativePointCloud, _1: NativeFloat32NDArray, _2: number): number;
  distance_fp(_0: NativeMesh, _1: NativeFloat32NDArray, _2: number): any;
  distance_fp_pc(_0: NativePointCloud, _1: NativeFloat32NDArray, _2: number): any;
  dispatch_distance_fp(_0: NativeMesh, _1: NativeFloat32NDArray, _2: number): number;
  dispatch_distance_fp_pc(_0: NativePointCloud, _1: NativeFloat32NDArray, _2: number): number;
  distance2_ff(_0: NativeMesh, _1: NativeMesh): number;
  distance2_ff_mp(_0: NativeMesh, _1: NativePointCloud): number;
  distance2_ff_pm(_0: NativePointCloud, _1: NativeMesh): number;
  distance2_ff_pc(_0: NativePointCloud, _1: NativePointCloud): number;
  dispatch_distance2_ff(_0: NativeMesh, _1: NativeMesh): number;
  dispatch_distance2_ff_mp(_0: NativeMesh, _1: NativePointCloud): number;
  dispatch_distance2_ff_pm(_0: NativePointCloud, _1: NativeMesh): number;
  dispatch_distance2_ff_pc(_0: NativePointCloud, _1: NativePointCloud): number;
  distance_ff(_0: NativeMesh, _1: NativeMesh): number;
  distance_ff_mp(_0: NativeMesh, _1: NativePointCloud): number;
  distance_ff_pm(_0: NativePointCloud, _1: NativeMesh): number;
  distance_ff_pc(_0: NativePointCloud, _1: NativePointCloud): number;
  dispatch_distance_ff(_0: NativeMesh, _1: NativeMesh): number;
  dispatch_distance_ff_mp(_0: NativeMesh, _1: NativePointCloud): number;
  dispatch_distance_ff_pm(_0: NativePointCloud, _1: NativeMesh): number;
  dispatch_distance_ff_pc(_0: NativePointCloud, _1: NativePointCloud): number;
  intersects_pp(_0: NativeFloat32NDArray, _1: number, _2: NativeFloat32NDArray, _3: number): any;
  dispatch_intersects_pp(_0: NativeFloat32NDArray, _1: number, _2: NativeFloat32NDArray, _3: number): number;
  intersects_fp(_0: NativeMesh, _1: NativeFloat32NDArray, _2: number): any;
  intersects_fp_pc(_0: NativePointCloud, _1: NativeFloat32NDArray, _2: number): any;
  dispatch_intersects_fp(_0: NativeMesh, _1: NativeFloat32NDArray, _2: number): number;
  dispatch_intersects_fp_pc(_0: NativePointCloud, _1: NativeFloat32NDArray, _2: number): number;
  intersects_ff(_0: NativeMesh, _1: NativeMesh): boolean;
  intersects_ff_mp(_0: NativeMesh, _1: NativePointCloud): boolean;
  intersects_ff_pm(_0: NativePointCloud, _1: NativeMesh): boolean;
  intersects_ff_pc(_0: NativePointCloud, _1: NativePointCloud): boolean;
  dispatch_intersects_ff(_0: NativeMesh, _1: NativeMesh): number;
  dispatch_intersects_ff_mp(_0: NativeMesh, _1: NativePointCloud): number;
  dispatch_intersects_ff_pm(_0: NativePointCloud, _1: NativeMesh): number;
  dispatch_intersects_ff_pc(_0: NativePointCloud, _1: NativePointCloud): number;
  closest_metric_point(_0: NativeFloat32NDArray, _1: number, _2: NativeFloat32NDArray, _3: number): any;
  dispatch_closest_metric_point(_0: NativeFloat32NDArray, _1: number, _2: NativeFloat32NDArray, _3: number): number;
  closest_metric_point_pair(_0: NativeFloat32NDArray, _1: number, _2: NativeFloat32NDArray, _3: number): any;
  dispatch_closest_metric_point_pair(_0: NativeFloat32NDArray, _1: number, _2: NativeFloat32NDArray, _3: number): number;
  ray_cast_p(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray, _2: number, _3: number, _4: number): any;
  ray_cast_p_rc(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray, _2: number, _3: NativeFloat32NDArray, _4: NativeFloat32NDArray): any;
  ray_cast_f(_0: NativeFloat32NDArray, _1: NativeMesh, _2: number, _3: number): any;
  ray_cast_f_rc(_0: NativeFloat32NDArray, _1: NativeMesh, _2: NativeFloat32NDArray, _3: NativeFloat32NDArray): any;
  ray_cast_f_pc(_0: NativeFloat32NDArray, _1: NativePointCloud, _2: number, _3: number): any;
  ray_cast_f_pc_rc(_0: NativeFloat32NDArray, _1: NativePointCloud, _2: NativeFloat32NDArray, _3: NativeFloat32NDArray): any;
  dispatch_ray_cast_p(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray, _2: number, _3: number, _4: number): number;
  dispatch_ray_cast_p_rc(_0: NativeFloat32NDArray, _1: NativeFloat32NDArray, _2: number, _3: NativeFloat32NDArray, _4: NativeFloat32NDArray): number;
  dispatch_ray_cast_f(_0: NativeFloat32NDArray, _1: NativeMesh, _2: number, _3: number): number;
  dispatch_ray_cast_f_rc(_0: NativeFloat32NDArray, _1: NativeMesh, _2: NativeFloat32NDArray, _3: NativeFloat32NDArray): number;
  dispatch_ray_cast_f_pc(_0: NativeFloat32NDArray, _1: NativePointCloud, _2: number, _3: number): number;
  dispatch_ray_cast_f_pc_rc(_0: NativeFloat32NDArray, _1: NativePointCloud, _2: NativeFloat32NDArray, _3: NativeFloat32NDArray): number;
  neighbor_search_fp(_0: NativeMesh, _1: NativeFloat32NDArray, _2: number, _3: number): any;
  neighbor_search_fp_pc(_0: NativePointCloud, _1: NativeFloat32NDArray, _2: number, _3: number): any;
  dispatch_neighbor_search_fp(_0: NativeMesh, _1: NativeFloat32NDArray, _2: number, _3: number): number;
  dispatch_neighbor_search_fp_pc(_0: NativePointCloud, _1: NativeFloat32NDArray, _2: number, _3: number): number;
  neighbor_search_fp_knn(_0: NativeMesh, _1: NativeFloat32NDArray, _2: number, _3: number, _4: number): any;
  neighbor_search_fp_knn_pc(_0: NativePointCloud, _1: NativeFloat32NDArray, _2: number, _3: number, _4: number): any;
  dispatch_neighbor_search_fp_knn(_0: NativeMesh, _1: NativeFloat32NDArray, _2: number, _3: number, _4: number): number;
  dispatch_neighbor_search_fp_knn_pc(_0: NativePointCloud, _1: NativeFloat32NDArray, _2: number, _3: number, _4: number): number;
  neighbor_search_ff(_0: NativeMesh, _1: NativeMesh, _2: number): NeighborResultPair;
  neighbor_search_ff_mp(_0: NativeMesh, _1: NativePointCloud, _2: number): NeighborResultPair;
  neighbor_search_ff_pm(_0: NativePointCloud, _1: NativeMesh, _2: number): NeighborResultPair;
  neighbor_search_ff_pc(_0: NativePointCloud, _1: NativePointCloud, _2: number): NeighborResultPair;
  dispatch_neighbor_search_ff(_0: NativeMesh, _1: NativeMesh, _2: number): number;
  dispatch_neighbor_search_ff_mp(_0: NativeMesh, _1: NativePointCloud, _2: number): number;
  dispatch_neighbor_search_ff_pm(_0: NativePointCloud, _1: NativeMesh, _2: number): number;
  dispatch_neighbor_search_ff_pc(_0: NativePointCloud, _1: NativePointCloud, _2: number): number;
  triangulate_mesh(_0: NativeMesh): NativeMesh;
  triangulate_dynamic(_0: NativeOffsetBlockedIntBuffer, _1: NativeFloat32NDArray): NativeMesh;
  triangulate_fixed(_0: NativeInt32NDArray, _1: NativeFloat32NDArray): NativeMesh;
  triangulate_polygon(_0: NativeFloat32NDArray): NativeMesh;
  dispatch_triangulate_mesh(_0: NativeMesh): number;
  dispatch_triangulate_dynamic(_0: NativeOffsetBlockedIntBuffer, _1: NativeFloat32NDArray): number;
  dispatch_triangulate_fixed(_0: NativeInt32NDArray, _1: NativeFloat32NDArray): number;
  dispatch_triangulate_polygon(_0: NativeFloat32NDArray): number;
  make_sphere_mesh(_0: number, _1: number, _2: number): NativeMesh;
  make_cylinder_mesh(_0: number, _1: number, _2: number): NativeMesh;
  make_box_mesh(_0: number, _1: number, _2: number): NativeMesh;
  make_box_mesh_subdivided(_0: number, _1: number, _2: number, _3: number, _4: number, _5: number): NativeMesh;
  make_plane_mesh(_0: number, _1: number, _2: number, _3: number): NativeMesh;
  dispatch_make_sphere_mesh(_0: number, _1: number, _2: number): number;
  dispatch_make_cylinder_mesh(_0: number, _1: number, _2: number): number;
  dispatch_make_box_mesh(_0: number, _1: number, _2: number): number;
  dispatch_make_box_mesh_subdivided(_0: number, _1: number, _2: number, _3: number, _4: number, _5: number): number;
  dispatch_make_plane_mesh(_0: number, _1: number, _2: number, _3: number): number;
  mesh_area(_0: NativeMesh): number;
  mesh_signed_volume(_0: NativeMesh): number;
  mesh_mean_edge_length(_0: NativeMesh): number;
  mesh_min_edge_length(_0: NativeMesh): number;
  mesh_max_edge_length(_0: NativeMesh): number;
  dispatch_mesh_area(_0: NativeMesh): number;
  dispatch_mesh_signed_volume(_0: NativeMesh): number;
  dispatch_mesh_mean_edge_length(_0: NativeMesh): number;
  dispatch_mesh_min_edge_length(_0: NativeMesh): number;
  dispatch_mesh_max_edge_length(_0: NativeMesh): number;
  positively_oriented(_0: NativeMesh, _1: boolean): NativeMesh;
  dispatch_positively_oriented(_0: NativeMesh, _1: boolean): number;
  principal_curvatures(_0: NativeMesh, _1: number): CurvatureResult;
  principal_directions(_0: NativeMesh, _1: number): CurvatureDirectionsResult;
  shape_index(_0: NativeMesh, _1: number): NativeFloat32NDArray;
  dispatch_principal_curvatures(_0: NativeMesh, _1: number): number;
  dispatch_principal_directions(_0: NativeMesh, _1: number): number;
  dispatch_shape_index(_0: NativeMesh, _1: number): number;
  laplacian_smoothed(_0: NativeMesh, _1: number, _2: number): NativeMesh;
  taubin_smoothed(_0: NativeMesh, _1: number, _2: number, _3: number): NativeMesh;
  dispatch_laplacian_smoothed(_0: NativeMesh, _1: number, _2: number): number;
  dispatch_taubin_smoothed(_0: NativeMesh, _1: number, _2: number, _3: number): number;
  fit_icp_alignment(_0: NativePointCloud, _1: NativePointCloud, _2: number, _3: number, _4: number, _5: number, _6: number, _7: number, _8: number): any;
  fit_rigid_alignment(_0: NativePointCloud, _1: NativePointCloud): any;
  fit_obb_alignment(_0: NativePointCloud, _1: NativePointCloud, _2: number): any;
  chamfer_error(_0: NativePointCloud, _1: NativePointCloud, _2: number): number;
  dispatch_fit_icp_alignment(_0: NativePointCloud, _1: NativePointCloud, _2: number, _3: number, _4: number, _5: number, _6: number, _7: number, _8: number): number;
  dispatch_fit_rigid_alignment(_0: NativePointCloud, _1: NativePointCloud): number;
  dispatch_fit_obb_alignment(_0: NativePointCloud, _1: NativePointCloud, _2: number): number;
  dispatch_chamfer_error(_0: NativePointCloud, _1: NativePointCloud, _2: number): number;
  cleaned_polygon_soup(_0: NativeFloat32NDArray, _1: number): NativeMesh;
  cleaned_mesh(_0: NativeMesh, _1: number): NativeMesh;
  cleaned_mesh_with_maps(_0: NativeMesh, _1: number): CleanedMeshResult;
  cleaned_points(_0: NativeFloat32NDArray, _1: number): NativeFloat32NDArray;
  cleaned_points_with_map(_0: NativeFloat32NDArray, _1: number): CleanedPointsResult;
  dispatch_cleaned_polygon_soup(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_cleaned_mesh(_0: NativeMesh, _1: number): number;
  dispatch_cleaned_mesh_with_maps(_0: NativeMesh, _1: number): number;
  dispatch_cleaned_points(_0: NativeFloat32NDArray, _1: number): number;
  dispatch_cleaned_points_with_map(_0: NativeFloat32NDArray, _1: number): number;
  reindexed_mesh(_0: NativeMesh, _1: IndexMap, _2: IndexMap): NativeMesh;
  dispatch_reindexed_mesh(_0: NativeMesh, _1: IndexMap, _2: IndexMap): number;
  reindexed_by_mask(_0: NativeMesh, _1: NativeInt8NDArray): NativeMesh;
  reindexed_by_mask_with_maps(_0: NativeMesh, _1: NativeInt8NDArray): ReindexedMeshResult;
  dispatch_reindexed_by_mask(_0: NativeMesh, _1: NativeInt8NDArray): number;
  dispatch_reindexed_by_mask_with_maps(_0: NativeMesh, _1: NativeInt8NDArray): number;
  reindexed_by_ids(_0: NativeMesh, _1: NativeInt32NDArray): NativeMesh;
  reindexed_by_ids_with_maps(_0: NativeMesh, _1: NativeInt32NDArray): ReindexedMeshResult;
  dispatch_reindexed_by_ids(_0: NativeMesh, _1: NativeInt32NDArray): number;
  dispatch_reindexed_by_ids_with_maps(_0: NativeMesh, _1: NativeInt32NDArray): number;
  reindexed_by_mask_on_points(_0: NativeMesh, _1: NativeInt8NDArray): NativeMesh;
  reindexed_by_mask_on_points_with_maps(_0: NativeMesh, _1: NativeInt8NDArray): ReindexedMeshResult;
  dispatch_reindexed_by_mask_on_points(_0: NativeMesh, _1: NativeInt8NDArray): number;
  dispatch_reindexed_by_mask_on_points_with_maps(_0: NativeMesh, _1: NativeInt8NDArray): number;
  reindexed_by_ids_on_points(_0: NativeMesh, _1: NativeInt32NDArray): NativeMesh;
  reindexed_by_ids_on_points_with_maps(_0: NativeMesh, _1: NativeInt32NDArray): ReindexedMeshResult;
  dispatch_reindexed_by_ids_on_points(_0: NativeMesh, _1: NativeInt32NDArray): number;
  dispatch_reindexed_by_ids_on_points_with_maps(_0: NativeMesh, _1: NativeInt32NDArray): number;
  concatenate_meshes(_0: any): NativeMesh;
  dispatch_concatenate_meshes(_0: any): number;
  split_into_components(_0: NativeMesh, _1: NativeInt32NDArray): any;
  dispatch_split_into_components(_0: NativeMesh, _1: NativeInt32NDArray): number;
  is_closed(_0: NativeMesh): boolean;
  dispatch_is_closed(_0: NativeMesh): number;
  is_open(_0: NativeMesh): boolean;
  dispatch_is_open(_0: NativeMesh): number;
  is_manifold(_0: NativeMesh): boolean;
  dispatch_is_manifold(_0: NativeMesh): number;
  is_non_manifold(_0: NativeMesh): boolean;
  dispatch_is_non_manifold(_0: NativeMesh): number;
  euler_characteristic(_0: NativeMesh): number;
  dispatch_euler_characteristic(_0: NativeMesh): number;
  boundary_edges(_0: NativeMesh): NativeInt32NDArray;
  dispatch_boundary_edges(_0: NativeMesh): number;
  non_manifold_edges(_0: NativeMesh): NativeInt32NDArray;
  dispatch_non_manifold_edges(_0: NativeMesh): number;
  boundary_paths(_0: NativeMesh): NativeOffsetBlockedIntBuffer;
  dispatch_boundary_paths(_0: NativeMesh): number;
  k_rings(_0: NativeMesh, _1: number, _2: boolean): NativeOffsetBlockedIntBuffer;
  dispatch_k_rings(_0: NativeMesh, _1: number, _2: boolean): number;
  neighborhoods(_0: NativeMesh, _1: number, _2: boolean): NativeOffsetBlockedIntBuffer;
  dispatch_neighborhoods(_0: NativeMesh, _1: number, _2: boolean): number;
  connect_edges_to_paths(_0: NativeInt32NDArray): NativeOffsetBlockedIntBuffer;
  dispatch_connect_edges_to_paths(_0: NativeInt32NDArray): number;
  label_connected_components_obb(_0: NativeOffsetBlockedIntBuffer): ConnectedComponentsResult;
  dispatch_label_connected_components_obb(_0: NativeOffsetBlockedIntBuffer): number;
  label_connected_components_ndarray(_0: NativeInt32NDArray): ConnectedComponentsResult;
  dispatch_label_connected_components_ndarray(_0: NativeInt32NDArray): number;
  consistently_oriented(_0: NativeMesh): NativeMesh;
  dispatch_consistently_oriented(_0: NativeMesh): number;
  decimated(_0: NativeMesh, _1: number, _2: number, _3: boolean, _4: number, _5: boolean): NativeMesh;
  isotropic_remeshed(_0: NativeMesh, _1: number, _2: number, _3: number, _4: number, _5: number, _6: boolean, _7: boolean, _8: boolean): NativeMesh;
  dispatch_decimated(_0: NativeMesh, _1: number, _2: number, _3: boolean, _4: number, _5: boolean): number;
  dispatch_isotropic_remeshed(_0: NativeMesh, _1: number, _2: number, _3: number, _4: number, _5: number, _6: boolean, _7: boolean, _8: boolean): number;
}

export type MainModule = WasmModule & typeof RuntimeExports & EmbindModule;
export default function MainModuleFactory (options?: unknown): Promise<MainModule>;
