Referência da API
Referência de Tipos
Definições de tipos TypeScript para o SDK VIDTREO.
Referência de Tipos
Todos os tipos TypeScript exportados pelos pacotes do SDK VIDTREO.
Tipos Principais
RecordingState
type RecordingState = 'idle' | 'countdown' | 'recording';SourceType
type SourceType = 'camera' | 'screen';RecordingStopResult
interface RecordingStopResult {
recordingId: string; // Identificador único da gravação
uploadUrl: string; // URL direta para o vídeo
blob: Blob; // Blob de vídeo local
}AvailableDevices
interface AvailableDevices {
video: MediaDeviceInfo[]; // Câmeras disponíveis
audio: MediaDeviceInfo[]; // Microfones disponíveis
}Tipos de Configuração
VidtreoRecorderConfig
interface VidtreoRecorderConfig {
apiKey: string;
apiUrl?: string;
enableSourceSwitching?: boolean;
enableMute?: boolean;
enablePause?: boolean;
enableDeviceChange?: boolean;
maxRecordingTime?: number;
countdownDuration?: number;
userMetadata?: Record<string, unknown>;
onUploadComplete?: (result: UploadCompleteResult) => void;
onUploadProgress?: (progress: number) => void;
onUploadError?: (error: Error) => void;
onRecordingStart?: () => void;
onRecordingStop?: () => void;
onError?: (error: Error) => void;
}Tipos React
VidtreoRecorderState
interface VidtreoRecorderState {
recordingState: RecordingState;
stream: MediaStream | null;
isMuted: boolean;
isPaused: boolean;
error: string | null;
countdown: number | null;
timer: string;
uploadProgress: number | null;
isInitialized: boolean;
recordedBlob: Blob | null;
devices: {
cameras: MediaDeviceInfo[];
microphones: MediaDeviceInfo[];
selectedCamera: string | null;
selectedMic: string | null;
};
}VidtreoRecorderActions
interface VidtreoRecorderActions {
startRecording(sourceType?: SourceType): Promise<void>;
stopRecording(): Promise<RecordingStopResult>;
pauseRecording(): void;
resumeRecording(): void;
toggleMute(): void;
switchSource(sourceType: SourceType): Promise<void>;
changeCamera(deviceId: string): Promise<void>;
changeMic(deviceId: string): Promise<void>;
startPreview(sourceType?: SourceType): Promise<void>;
downloadVideo(): void;
cleanup(): void;
}Importando Tipos
// Do Core SDK
import type {
VidtreoRecorderConfig,
RecordingState,
SourceType,
RecordingStopResult,
AvailableDevices,
} from '@vidtreo/recorder';
// Do pacote React
import type {
VidtreoRecorderProps,
VidtreoRecorderState,
VidtreoRecorderActions,
PartialTranslations,
} from '@vidtreo/recorder-react';