import type { Meshnode as MeshnodeV1 } from './v1/standard/Meshnode';
import type { Meshnode as MeshnodeV2 } from './v2/standard/Meshnode';
import type { Mesh as MeshV1 } from './v1/standard/Mesh';
import type { Mesh as MeshV2 } from './v2/standard/Mesh';
import type { Node as NodeV1 } from './v1/standard/Node';
import type { Node as NodeV2 } from './v2/standard/Node';
import type { NodeObject as NodeObjectV1 } from './v1/objects/NodeObject';
import type { NodeObject as NodeObjectV2 } from './v2/objects/NodeObject';
import type { MeshnodeObject as MeshnodeObjectV1 } from './v1/objects/MeshnodeObject';
import type { MeshnodeObject as MeshnodeObjectV2 } from './v2/objects/MeshnodeObject';
import type { MeshObject as MeshObjectV1 } from './v1/objects/MeshObject';
import type { MeshObject as MeshObjectV2 } from './v2/objects/MeshObject';
import type { StreamedMeshnode as StreamedMeshnodeV1 } from './v1/streaming/StreamedMeshnode';
import type { StreamedMeshnode as StreamedMeshnodeV2 } from './v2/streaming/StreamedMeshnode';
import type { PWFV1 } from './v1/PWFV1';
import type { PWFV2 } from './v2/PWFV2';
import type { Manifest as ManifestV2 } from './v2/Manifest';
export type Meshnode = MeshnodeV1 | MeshnodeV2;
export type Mesh = MeshV1 | MeshV2;
export type Node = NodeV1 | NodeV2;
export type NodeObject = NodeObjectV1 | NodeObjectV2;
export type MeshnodeObject = MeshnodeObjectV1 | MeshnodeObjectV2;
export type MeshObject = MeshObjectV1 | MeshObjectV2;
export type StreamedMeshnode = StreamedMeshnodeV1 | StreamedMeshnodeV2;
export type PWF = PWFV1 | PWFV2;
export type Manifest = ManifestV2;
export type BoundingBox = {
    min: number[];
    max: number[];
};
export type ModelAnalyticsData = {
    node_size: number;
    meshnode_size: number;
    num_nodes: number;
    num_meshnodes: number;
    mesh_size?: number;
    num_meshes?: number;
    partition_proxy_size?: number;
};
export type PWFVersion = `${number}.${number}`;
