import type { Geometry } from "../geometry/Geometry.ts"; import type { Material } from "../materials/Material.ts"; import { Matrix4 } from "../math/Matrix4.ts"; import { Mesh } from "./Mesh.ts"; interface Skeleton { pose: () => void; boneMatrices: Float32Array; } interface TargetVec3 { x: number; y: number; z: number; } /** Mesh deformed by a Skeleton via vertex skinning. */ export declare class SkinnedMesh extends Mesh { #private; type: string; bindMode: "attached" | "detached"; constructor(geometry?: Geometry | undefined, material?: Material | undefined); get bindMatrix(): Matrix4; get bindMatrixInverse(): Matrix4; get skeleton(): Skeleton | undefined; bind(skeleton: Skeleton, bindMatrix?: Matrix4): void; pose(): void; normalizeSkinWeights(): void; boneTransform(index: number, target: TargetVec3): void; clone(): SkinnedMesh; copy(source: SkinnedMesh, recursive?: boolean): this; } export {}; //# sourceMappingURL=SkinnedMesh.d.ts.map