import * as React from 'react'; import * as THREE from 'three'; import { ThreeElements } from '@react-three/fiber'; export type MediaPipeFaceMesh = typeof FacemeshDatas.SAMPLE_FACE; export type MediaPipePoints = typeof FacemeshDatas.SAMPLE_FACE.keypoints | (typeof FacemeshDatas.SAMPLE_FACELANDMARKER_RESULT.faceLandmarks)[0]; export type FacemeshProps = { points?: MediaPipePoints; face?: MediaPipeFaceMesh; width?: number; height?: number; depth?: number; verticalTri?: [number, number, number]; origin?: number | THREE.Vector3; facialTransformationMatrix?: (typeof FacemeshDatas.SAMPLE_FACELANDMARKER_RESULT.facialTransformationMatrixes)[0]; offset?: boolean; offsetScalar?: number; faceBlendshapes?: (typeof FacemeshDatas.SAMPLE_FACELANDMARKER_RESULT.faceBlendshapes)[0]; eyes?: boolean; eyesAsOrigin?: boolean; debug?: boolean; } & Omit; export type FacemeshApi = { meshRef: React.RefObject; outerRef: React.RefObject; eyeRightRef: React.RefObject; eyeLeftRef: React.RefObject; }; export declare const Facemesh: React.ForwardRefExoticComponent<{ points?: MediaPipePoints; face?: MediaPipeFaceMesh; width?: number; height?: number; depth?: number; verticalTri?: [number, number, number]; origin?: number | THREE.Vector3; facialTransformationMatrix?: (typeof FacemeshDatas.SAMPLE_FACELANDMARKER_RESULT.facialTransformationMatrixes)[0]; offset?: boolean; offsetScalar?: number; faceBlendshapes?: (typeof FacemeshDatas.SAMPLE_FACELANDMARKER_RESULT.faceBlendshapes)[0]; eyes?: boolean; eyesAsOrigin?: boolean; debug?: boolean; } & Omit, import("@react-three/fiber").MathProps> & import("@react-three/fiber").ReactProps> & Partial>>, Omit, typeof THREE.Group>, "object">>>, "ref"> & React.RefAttributes>; export type FacemeshEyeProps = { side: 'left' | 'right'; debug?: boolean; }; export type FacemeshEyeApi = { eyeMeshRef: React.RefObject; irisDirRef: React.RefObject; _computeSphere: (faceGeometry: THREE.BufferGeometry) => THREE.Sphere; _update: (faceGeometry: THREE.BufferGeometry, faceBlendshapes: FacemeshProps['faceBlendshapes'], sphere?: THREE.Sphere) => void; }; export declare const FacemeshEyeDefaults: { contourLandmarks: { right: number[]; left: number[]; }; blendshapes: { right: number[]; left: number[]; }; color: { right: string; left: string; }; fov: { horizontal: number; vertical: number; }; }; export declare const FacemeshEye: React.ForwardRefExoticComponent>; export declare const FacemeshDatas: { TRIANGULATION: number[]; SAMPLE_FACE: { keypoints: ({ x: number; y: number; z: number; name: string; } | { x: number; y: number; z: number; name?: undefined; })[]; box: { xMin: number; yMin: number; xMax: number; yMax: number; width: number; height: number; }; }; SAMPLE_FACELANDMARKER_RESULT: { faceLandmarks: { x: number; y: number; z: number; }[][]; faceBlendshapes: { categories: { index: number; score: number; categoryName: string; displayName: string; }[]; headIndex: number; headName: string; }[]; facialTransformationMatrixes: { rows: number; columns: number; data: number[]; }[]; }; };