import { VRM } from "@davidcks/r3f-vrm";
import * as poseDetect from "@tensorflow-models/pose-detection";
import { Vector3 } from "three";
import { BasePoseConversionManager } from "./BasePoseConversionManager";
export declare class ArmPoseConversionManager extends BasePoseConversionManager {
    private _bodyPoseConversionManager;
    constructor(vrm: VRM);
    getPosePositions<T extends "raw" | "normalized">(blazePose: poseDetect.Pose, format: T): ReturnType<ArmPoseConversionManager["normalizePosePositions"]>;
    getRawPosePositions(blazePose: poseDetect.Pose): {
        __root: Vector3;
        neck: {
            position: [number, number, number];
        };
        leftShoulder: {
            position: [number, number, number];
        };
        leftUpperArm: {
            position: [number, number, number];
        };
        leftLowerArm: {
            position: [number, number, number];
        };
        leftHand: {
            position: [number, number, number];
        };
        leftThumbDistal: {
            position: [number, number, number];
        };
        leftLittleDistal: {
            position: [number, number, number];
        };
        rightShoulder: {
            position: [number, number, number];
        };
        rightUpperArm: {
            position: [number, number, number];
        };
        rightLowerArm: {
            position: [number, number, number];
        };
        rightHand: {
            position: [number, number, number];
        };
        rightThumbDistal: {
            position: [number, number, number];
        };
        rightLittleDistal: {
            position: [number, number, number];
        };
    };
    normalizePosePositions(armPose: ReturnType<ArmPoseConversionManager["getRawPosePositions"]>, root: Vector3): {
        neck: {
            position: [number, number, number];
        };
        leftShoulder: {
            position: [number, number, number];
        };
        leftUpperArm: {
            position: [number, number, number];
        };
        leftLowerArm: {
            position: [number, number, number];
        };
        leftHand: {
            position: [number, number, number];
        };
        leftThumbDistal: {
            position: [number, number, number];
        };
        leftLittleDistal: {
            position: [number, number, number];
        };
        rightShoulder: {
            position: [number, number, number];
        };
        rightUpperArm: {
            position: [number, number, number];
        };
        rightLowerArm: {
            position: [number, number, number];
        };
        rightHand: {
            position: [number, number, number];
        };
        rightThumbDistal: {
            position: [number, number, number];
        };
        rightLittleDistal: {
            position: [number, number, number];
        };
    };
}
//# sourceMappingURL=ArmPoseConversionManager.d.ts.map