import { VRM } from "@davidcks/r3f-vrm";
import { Landmark } from "@mediapipe/pose";
import { Vector3 } from "three";
type Finger = "ThumbMetacarpal" | "ThumbProximal" | "ThumbDistal" | "IndexProximal" | "IndexIntermediate" | "IndexDistal" | "MiddleProximal" | "MiddleIntermediate" | "MiddleDistal" | "RingProximal" | "RingIntermediate" | "RingDistal" | "LittleProximal" | "LittleIntermediate" | "LittleDistal";
type HandPosePositions<T extends "left" | "right"> = {
    readonly [K in `${T}${Finger}`]: {
        readonly position: [number, number, number];
    };
};
export declare class HandPoseConversionManager {
    private _vrm;
    constructor(vrm: VRM);
    getPosePositions<T extends "left" | "right", F extends "raw" | "normalized">(landmarks: Landmark[], anchor: [number, number, number], prefix: T, format: F): HandPosePositions<T>;
    getRawPosePositions<T extends "left" | "right">(landmarks: Landmark[], anchor: [number, number, number], prefix: T): HandPosePositions<T> & {
        __root: Vector3;
    };
    normalizePosePositions<T extends "left" | "right">(handPose: ReturnType<HandPoseConversionManager["getRawPosePositions"]>, root: Vector3, prefix: T): HandPosePositions<T>;
}
export {};
//# sourceMappingURL=HandPoseConversionManager.d.ts.map