UNPKG

@kortexa-ai/react-multimodal

Version:

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

55 lines 2.26 kB
import { EventDispatcher } from '../utils/EventDispatcher'; export type VideoStreamHandler = (stream?: MediaStream) => void; export type VideoErrorHandler = (error?: string) => void; export type VideoLifeCycleHandler = () => void; export type CameraFacingMode = "user" | "environment"; export type CameraStartHandler = () => void; export type CameraStopHandler = () => void; export type CameraLifeCycleHandler = VideoLifeCycleHandler; export type CameraFacingModeHandler = (mode?: CameraFacingMode) => void; export type CameraStreamHandler = VideoStreamHandler; export type CameraErrorHandler = VideoErrorHandler; export interface CameraDevice { isRecording: boolean; stream: MediaStream | null; facingMode: CameraFacingMode; availableDevices: MediaDeviceInfo[]; currentDeviceId: string | undefined; start: (deviceId?: string) => Promise<void>; stop: () => void; toggle: () => void; flip: () => void; getDevices: () => Promise<void>; setDevice: (deviceId: string) => void; } export interface CameraEventMap extends Record<string, unknown> { stream: MediaStream; start: void; stop: void; facingMode: CameraFacingMode; error: string; } export declare const cameraDispatcher: EventDispatcher<CameraEventMap>; export interface CameraControl extends CameraDevice { addStreamListener: (listener: CameraStreamHandler) => string; removeStreamListener: (id: string) => void; addStartListener: (listener: CameraStartHandler) => string; removeStartListener: (id: string) => void; addStopListener: (listener: CameraStopHandler) => string; removeStopListener: (id: string) => void; addFacingModeListener: (listener: CameraFacingModeHandler) => string; removeFacingModeListener: (id: string) => void; addErrorListener: (listener: CameraErrorHandler) => string; removeErrorListener: (id: string) => void; } export interface CameraDeviceProps { defaultFacingMode?: CameraFacingMode; defaultDeviceId?: string; requestedWidth?: number; requestedHeight?: number; requestedAspectRatio?: number; onStream?: CameraStreamHandler; onError?: CameraErrorHandler; } export type CameraProviderProps = CameraDeviceProps; //# sourceMappingURL=types.d.ts.map