Referencia de API
Referencia de Tipos
Definiciones de tipos TypeScript para el SDK VIDTREO.
Referencia de Tipos
Todos los tipos TypeScript exportados por los paquetes del SDK VIDTREO.
Tipos Principales
RecordingState
type RecordingState = 'idle' | 'countdown' | 'recording';SourceType
type SourceType = 'camera' | 'screen';RecordingStopResult
interface RecordingStopResult {
recordingId: string; // Identificador único de grabación
uploadUrl: string; // URL directa al video
blob: Blob; // Blob de video local
}AvailableDevices
interface AvailableDevices {
video: MediaDeviceInfo[]; // Cámaras disponibles
audio: MediaDeviceInfo[]; // Micrófonos disponibles
}Tipos de Configuración
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 de 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
// Del Core SDK
import type {
VidtreoRecorderConfig,
RecordingState,
SourceType,
RecordingStopResult,
AvailableDevices,
} from '@vidtreo/recorder';
// Del paquete React
import type {
VidtreoRecorderProps,
VidtreoRecorderState,
VidtreoRecorderActions,
PartialTranslations,
} from '@vidtreo/recorder-react';