import { VRM, VRMHumanBoneName, VRMPose } from "@davidcks/r3f-vrm";
import { HandLandmarkerResult } from "@mediapipe/tasks-vision";
import { Quaternion, Vector3 } from "three";
import { FingerParts, Fingers } from "./common/utils";
export declare class PosePositionConverter {
    private _restPose;
    private _poseRefGenerator;
    private _kalidoPPC;
    constructor(vrm: VRM);
    private _swapHandsSideAndSlerp;
    run(pose: VRMPose, handLandmarks?: HandLandmarkerResult): VRMPose;
    private _getLowerArmGlobalRotations;
    private _invertInRange;
    private _applyRoll;
    private _getBodyRotations;
    private _normalizeHand;
    private _getThumbRotation;
    private _getFingerRotation;
    private _getHandRotations;
    rotateFingersAroundQuat(root: Vector3, target: VRMPose, quat: Quaternion, side: "left" | "right", only?: Fingers, onlyPart?: FingerParts): VRMPose;
    rotateFingersAround(root: Vector3, target: VRMPose, eulerAngles: {
        x: number;
        y: number;
        z: number;
    }, side: "left" | "right", axis?: Vector3): VRMPose;
    rotateHandAround(root: Vector3, target: VRMPose, eulerAngles: {
        x: number;
        y: number;
        z: number;
    }, side: "left" | "right"): VRMPose;
    getVec3RotationForRef(origin: Vector3, target: Vector3, ref: Vector3): Quaternion & {
        global: Quaternion;
    };
    getVec3Rotation(origin: Vector3, target: Vector3, originBoneName: VRMHumanBoneName, targetBoneName: VRMHumanBoneName, parentQuat?: Quaternion, refRotationQuat?: Quaternion): Quaternion & {
        global: Quaternion;
    };
}
//# sourceMappingURL=PosePositionConverter.d.ts.map