// TypeScript bindings for emscripten-generated code.  Automatically generated at compile time.
declare namespace RuntimeExports {
    let HEAPF32: any;
    let HEAPF64: any;
    let HEAP_DATA_VIEW: any;
    let HEAP8: any;
    let HEAPU8: any;
    let HEAP16: any;
    let HEAPU16: any;
    let HEAP32: any;
    let HEAPU32: any;
    let HEAP64: any;
    let HEAPU64: any;
}
interface WasmModule {
  _malloc(_0: number): number;
  _free(_0: number): void;
}

export interface ClassHandle {
  isAliasOf(other: ClassHandle): boolean;
  delete(): void;
  deleteLater(): this;
  isDeleted(): boolean;
  clone(): this;
}
export interface VectorFloat32 extends ClassHandle {
  size(): number;
  get(_0: number): number | undefined;
  push_back(_0: number): void;
  resize(_0: number, _1: number): void;
  set(_0: number, _1: number): boolean;
}

export interface VectorUInt8T extends ClassHandle {
  push_back(_0: number): void;
  resize(_0: number, _1: number): void;
  size(): number;
  get(_0: number): number | undefined;
  set(_0: number, _1: number): boolean;
}

export type RawGaussianCloud = {
  numPoints: number,
  shDegree: number,
  antialiased: boolean,
  positions: VectorFloat32,
  scales: VectorFloat32,
  rotations: VectorFloat32,
  alphas: VectorFloat32,
  colors: VectorFloat32,
  sh: VectorFloat32
};

interface EmbindModule {
  VectorFloat32: {
    new(): VectorFloat32;
  };
  VectorUInt8T: {
    new(): VectorUInt8T;
  };
  vf32_ptr(_0: VectorFloat32): number;
  load_spz(_0: number, _1: number): RawGaussianCloud;
}

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