import { VRM, VRMHumanBoneName, VRMPose } from "@davidcks/r3f-vrm";
import { ArmPoseConversionManager } from "./subsubmanagers/ArmPoseConversionManager";
import * as poseDetect from "@tensorflow-models/pose-detection";
import { LegPoseConversionManager } from "./subsubmanagers/LegPoseContersionManager";
import { BodyPoseConversionManager } from "./subsubmanagers/BodyPoseConversionManager";
import { HeadPoseConversionManager } from "./subsubmanagers/HeadPoseConversionManager";
import { HandPoseConversionManager } from "./subsubmanagers/HandPoseConversionManager";
import { HandLandmarkerResult } from "@mediapipe/tasks-vision";
export declare class PoseConversionManager {
    private _armPoseConversionManager;
    get armPoseConversionManager(): ArmPoseConversionManager;
    private _handPoseConversionManager;
    get handPoseConversionManager(): HandPoseConversionManager;
    private _legPoseConversionManager;
    get legPoseConversionManager(): LegPoseConversionManager;
    private _bodyPoseConversionManager;
    get bodyPoseConversionManager(): BodyPoseConversionManager;
    private _headPoseConversionManager;
    get headPoseConversionManager(): HeadPoseConversionManager;
    private _vrm;
    private _vrmNromalizedRestPose;
    constructor(vrm: VRM);
    convert(blazePose: poseDetect.Pose, handLandmarks?: HandLandmarkerResult, format?: "raw" | "normalized" | "relative"): Partial<Record<VRMHumanBoneName, {
        position: [number, number, number];
    }>>;
    applyGlobalNormalization(pose: VRMPose): void;
    private _applyPositionHierarchy;
    private _applyArmPositionHierarchy;
    private _applyLeftArmPositionHierarchy;
    private _applyRightArmPositionHierarchy;
    private _applyBodyPositionHierarchy;
}
//# sourceMappingURL=PoseConversionManager.d.ts.map