UNPKG

@veltdev/sdk

Version:

Velt is an SDK to add collaborative features to your product within minutes. Example: Comments like Figma, Frame.io, Google docs or sheets, Recording like Loom, Huddles like Slack and much more.

112 lines (111 loc) 2.73 kB
import { Observable } from "rxjs"; import { RecorderType } from "../../utils/enums"; export declare class RecorderConfig { type: { audio?: boolean; video?: boolean; screen?: boolean; }; recorderOptions?: MediaRecorderOptions; } export declare class RecorderInitData { /** * Media Recorder status */ status: Observable<string | null>; /** * Media Recorder stream */ stream?: MediaStream; /** * Media Recorder recorded time */ recordedTime: Observable<{ duration?: number; display?: string; } | null>; /** * Type of media recorder, possible values are 'audio', 'video' and 'screen' */ type: RecorderType; /** * Observable of recorded raw data. */ recordedRawData$: Observable<RecordedRawData | null>; } export declare class RecordedRawData { /** * Blob object of recorded data */ blob: Blob; /** * Base64 URL of recorded data */ url: string; /** * Type of recorded data, possible values are 'audio' and 'video' */ type: RecorderType; /** * Base64 encoded string of thumbnail image of one frame of recorded video */ thumbnail?: string; /** * Recorded time */ recordedTime?: { duration?: number; display?: string; } | null; /** * Array of URLs for individual uploaded chunks */ chunkUrls?: { [key: number]: string; }; } export declare class RecordedData { /** * Annotation ID of recorder annotation */ id: string; /** * Recorder player tag containing recorder annotation id which can be added anywhere on the DOM */ tag: string; /** * Type of recorded data, possible values are 'audio', 'video' and 'screen' */ type: string; thumbnailUrl?: string; thumbnailWithPlayIconUrl?: string; videoUrl?: string; audioUrl?: string; /** * URL of the hosted website to open video in new tab */ videoPlayerUrl?: string; /** * URLs for individual uploaded chunks */ chunkUrls?: { [key: number]: string; }; getThumbnailTag: (url?: string) => string; } export declare class RecorderQualityConstraintsOptions { video?: MediaTrackConstraints; audio?: MediaTrackConstraints; } export declare class RecorderQualityConstraints { safari?: RecorderQualityConstraintsOptions; other?: RecorderQualityConstraintsOptions; } export declare class RecorderEncodingOptions { safari?: MediaRecorderOptions; other?: MediaRecorderOptions; } export declare class RecorderDevicePermissionOptions { audio?: boolean; video?: boolean; }