UNPKG

eye-analysis

Version:

Eye Analysis - Browser-based eye tracking and screen recording library for research and experiments

53 lines 2.02 kB
import type { GazePointInput } from "../../recorder/types"; import type { FunctionBasedAdaptor, TrackingStatus } from "../types"; /** * Custom adaptor setup function type */ export type CustomAdaptorSetupFunction = (onGaze: (gazePoint: GazePointInput) => void) => undefined | (() => void); /** * Custom adaptor options */ export interface CustomAdaptorOptions { initialQuality?: "excellent" | "good" | "poor" | "unavailable"; autoStart?: boolean; description?: string; metadata?: Record<string, unknown>; } /** * Create a custom function-based tracking adaptor */ export declare const createCustomAdaptor: (id: string, name: string, setupFunction: CustomAdaptorSetupFunction, options?: CustomAdaptorOptions) => FunctionBasedAdaptor; /** * Create a data-driven custom adaptor that processes external data */ export declare const createDataDrivenAdaptor: (id: string, name: string, options?: CustomAdaptorOptions) => { adaptor: FunctionBasedAdaptor; sendGazeData: (gazePoint: GazePointInput) => Promise<void>; updateStatus: (newStatus: Partial<TrackingStatus>) => void; }; /** * Create a timer-based custom adaptor for testing */ export declare const createTimerAdaptor: (id: string, name: string, options?: { interval?: number; gazeGenerator?: () => GazePointInput; autoStart?: boolean; }) => FunctionBasedAdaptor; /** * Create a WebRTC-based custom adaptor */ export declare const createWebRTCAdaptor: (id: string, name: string, peerConnection: RTCPeerConnection, options?: CustomAdaptorOptions) => FunctionBasedAdaptor; /** * Validate custom adaptor configuration */ export declare const validateCustomAdaptorConfig: (id: string, name: string, setupFunction: CustomAdaptorSetupFunction) => string[]; /** * Get example custom adaptor configurations */ export declare const getExampleAdaptorConfigs: () => Array<{ id: string; name: string; description: string; setupFunction: CustomAdaptorSetupFunction; }>; //# sourceMappingURL=custom.d.ts.map