UNPKG

@kortexa-ai/react-multimodal

Version:

A set of react components and hooks to help with multimodal input

69 lines 2.42 kB
import { Hands } from '@mediapipe/hands'; export interface HandLandmark { x: number; y: number; z: number; visibility?: number; } export interface Handedness { score: number; index: number; label: "Left" | "Right" | string; } export interface DetectedHand { landmarks: HandLandmark[]; worldLandmarks?: HandLandmark[]; handedness: Handedness[]; } export interface MediaPipeHandsResults { multiHandLandmarks: HandLandmark[][]; multiHandWorldLandmarks: HandLandmark[][]; multiHandedness: Handedness[]; image?: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap; } export interface HandsData { detectedHands: DetectedHand[]; imageDimensions?: { width: number; height: number; }; } export interface MediaPipeHandsOptions { staticImageMode?: boolean; maxNumHands?: number; modelComplexity?: 0 | 1; minDetectionConfidence?: number; minTrackingConfidence?: number; selfieMode?: boolean; locateFile?: (file: string, scriptPath?: string) => string; } export interface HandsTrackingDeviceProps { options?: MediaPipeHandsOptions; handsVersion?: string; onInitialLoad?: () => void; onHandsData?: (data: HandsData) => void; onError?: (error: string) => void; onTrackingStarted?: () => void; onTrackingStopped?: () => void; onResults?: (detectedHands: DetectedHand[], image?: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap) => void; } export interface HandsTrackingDevice { isTracking: boolean; handsData: HandsData | null; error: string | null; startTracking: (videoElement: HTMLVideoElement) => Promise<void>; stopTracking: () => void; getHandsInstance: () => Hands | null; } export interface HandsTrackingControl extends HandsTrackingDevice { addHandsDataListener: (listener: (data: HandsData) => void) => string; removeHandsDataListener: (listenerId: string) => void; addErrorListener: (listener: (error: string) => void) => string; removeErrorListener: (listenerId: string) => void; addStartListener: (listener: () => void) => string; removeStartListener: (listenerId: string) => void; addStopListener: (listener: () => void) => string; removeStopListener: (listenerId: string) => void; } export type HandsProviderProps = HandsTrackingDeviceProps; //# sourceMappingURL=types.d.ts.map