import type { Matrix3x3, Vec3 } from '../math'; import type { ScalarGrid3D } from './grid'; import { type DisplayRange } from './sampling'; import type { VolumeGrid } from './types'; export interface GeometryVolumeJob { token: number; volume: VolumeGrid; range: DisplayRange | null; reference_origin: Vec3; surfaces: { token: string; isovalue: number; }[]; } export interface GeometryInput { volumes: GeometryVolumeJob[]; } interface GeometrySurfaceResult { token: string; positions: Float32Array; indices: Uint32Array; marching_cubes_ms: number; } interface GeometryVolumeResult { token: number; grid: ScalarGrid3D; lattice: Matrix3x3; origin: Vec3; prepare_geometry_ms: number; surfaces: GeometrySurfaceResult[]; } export interface GeometryResult { volumes: GeometryVolumeResult[]; } export declare function compute_isosurface_geometries(input: GeometryInput): GeometryResult; export declare const geometry_result_transferables: (result: GeometryResult) => Transferable[]; export {};