import { NormalizedLandmark, Results } from "@mediapipe/holistic"; import { Results as FMResults } from "@mediapipe/face_mesh"; import { Vector3 } from "@babylonjs/core"; import { FilterParams } from "./filter"; export declare class FilteredLandmarkVector { private mainFilter; private readonly gaussianVectorFilter; private _t; get t(): number; set t(value: number); private _pos; get pos(): Vector3; visibility: number | undefined; constructor(params?: FilterParams); updatePosition(pos: Vector3, visibility?: number): void; } export type FilteredLandmarkVectorList = FilteredLandmarkVector[]; export type FilteredLandmarkVector3 = [ FilteredLandmarkVector, FilteredLandmarkVector, FilteredLandmarkVector ]; export interface CloneableResults extends Omit { } export interface CloneableFMResults extends Omit { } export declare const POSE_LANDMARK_LENGTH = 33; export declare const FACE_LANDMARK_LENGTH = 478; export declare const HAND_LANDMARK_LENGTH = 21; export declare const normalizedLandmarkToVector: (l: NormalizedLandmark, scaling?: number, reverseY?: boolean) => Vector3; export declare const vectorToNormalizedLandmark: (l: Vector3) => NormalizedLandmark; export declare const HAND_LANDMARKS: { WRIST: number; THUMB_CMC: number; THUMB_MCP: number; THUMB_IP: number; THUMB_TIP: number; INDEX_FINGER_MCP: number; INDEX_FINGER_PIP: number; INDEX_FINGER_DIP: number; INDEX_FINGER_TIP: number; MIDDLE_FINGER_MCP: number; MIDDLE_FINGER_PIP: number; MIDDLE_FINGER_DIP: number; MIDDLE_FINGER_TIP: number; RING_FINGER_MCP: number; RING_FINGER_PIP: number; RING_FINGER_DIP: number; RING_FINGER_TIP: number; PINKY_MCP: number; PINKY_PIP: number; PINKY_DIP: number; PINKY_TIP: number; }; export declare const HAND_LANDMARKS_BONE_MAPPING: { Hand: number; ThumbProximal: number; ThumbIntermediate: number; ThumbDistal: number; IndexProximal: number; IndexIntermediate: number; IndexDistal: number; MiddleProximal: number; MiddleIntermediate: number; MiddleDistal: number; RingProximal: number; RingIntermediate: number; RingDistal: number; LittleProximal: number; LittleIntermediate: number; LittleDistal: number; }; export declare const HAND_LANDMARKS_BONE_REVERSE_MAPPING: { [key: number]: string; }; export type HandBoneMappingKey = keyof typeof HAND_LANDMARKS_BONE_MAPPING; export declare function handLandMarkToBoneName(landmark: number, isLeft: boolean): string; export declare function depthFirstSearch(rootNode: any, f: (n: any) => boolean): [any, any];