videomail-client
Version:
A wicked npm package to record videos directly in the browser, wohooo!
75 lines (74 loc) • 2.72 kB
TypeScript
import { ShowParams } from "../client";
import { Dimension } from "../types/dimension";
import { VideomailClientOptions } from "../types/options";
import Despot from "../util/Despot";
import VideomailError from "../util/error/VideomailError";
import Container, { UnloadParams } from "./container";
import Recorder, { StopParams } from "./visuals/recorder";
import Replay from "./visuals/replay";
declare class Visuals extends Despot {
private readonly container;
private readonly replay;
private readonly recorder;
private readonly recorderInsides;
private readonly notifier;
private visualsElement?;
private built;
constructor(container: Container, options: VideomailClientOptions);
private buildNoScriptTag;
private buildChildren;
private initEvents;
private correctDimensions;
private removeDimensions;
getRatio(): number;
private isRecordable;
isCountingDown(): boolean | undefined;
build(playerOnly?: boolean, parentElement?: HTMLElement | null): void;
appendChild(child: HTMLElement): void;
removeChild(child: HTMLElement): void;
reset(): void;
beginWaiting(): void;
endWaiting(): void;
stop(params?: StopParams): void;
back(keepHidden?: boolean, cb?: any): void;
recordAgain(): void;
unload(params?: UnloadParams): void;
isNotifying(): boolean | null | undefined;
pause(params?: {
event: MouseEvent;
}): void;
resume(): void;
pauseOrResume(): void;
recordOrStop(): void;
getRecorder(): Recorder;
validate(): boolean;
getRecordingStats(): import("..").RecordingStats | undefined;
getAudioSampleRate(): number | undefined;
isPaused(): boolean | undefined;
error(err: VideomailError): void;
hide(): void;
isHidden(): boolean;
showVisuals(): void;
show(params?: ShowParams): void;
showReplayOnly(): void;
isRecorderUnloaded(): boolean | undefined;
isConnecting(): boolean;
getRecorderWidth(responsive: boolean): Dimension | undefined;
getRecorderHeight(responsive: boolean, useBoundingClientRect?: boolean): Dimension | undefined;
limitWidth(width?: number): Dimension | undefined;
limitHeight(height: number | undefined): Dimension;
getReplay(): Replay;
getBoundingClientRect(): DOMRect | undefined;
checkTimer(elapsedTime: number): void;
isNotifierBuilt(): boolean;
isReplayShown(): boolean;
hideReplay(): void;
hideRecorder(): void;
isRecording(): boolean;
isUserMediaLoaded(): boolean | undefined;
isConnected(): boolean;
record(): void;
setLimitSeconds(limitSeconds: number): void;
getElement(): HTMLElement | null | undefined;
}
export default Visuals;