@sawport/peers-caller
Version:
WebRTC multi-peer video call library with mesh architecture supporting up to 4 participants
54 lines • 1.87 kB
TypeScript
import { PeersCaller } from "../../core/PeersCaller";
import type { MediaStreamConfig, CallMetrics, CallStatusResponse, CallParticipant, CallState } from "../../types";
interface TesterConfig {
socketUrl: string;
conversationId: string;
userId: string;
token: string;
iceServers?: RTCIceServer[];
}
interface LogEntry {
id: string;
timestamp: number;
level: "info" | "warn" | "error" | "debug";
message: string;
data?: any;
}
interface TesterMetrics extends CallMetrics {
connectTime?: number;
lastPingTime?: number;
signalStrength: "strong" | "medium" | "weak" | "disconnected";
}
interface UseTesterReturn {
peersCaller: PeersCaller | null;
callState: CallState;
participants: CallParticipant[];
localParticipant: CallParticipant | null;
isConnected: boolean;
isRecording: boolean;
error: string | null;
logs: LogEntry[];
metrics: TesterMetrics;
config: TesterConfig;
callStatusInfo: CallStatusResponse | null;
isCallActive: boolean;
canJoinCall: boolean;
initialize: () => Promise<PeersCaller | undefined>;
checkCallStatus: (instance?: PeersCaller) => Promise<CallStatusResponse | null>;
startCall: (mediaConfig?: MediaStreamConfig) => Promise<void>;
joinCall: (mediaConfig?: MediaStreamConfig) => Promise<void>;
joinOrStartCall: (mediaConfig?: MediaStreamConfig) => Promise<void>;
endCall: () => void;
toggleAudio: (enabled: boolean) => void;
toggleVideo: (enabled: boolean) => void;
startScreenShare: () => void;
stopScreenShare: () => void;
startRecording: () => void;
stopRecording: () => void;
updateConfig: (updates: Partial<TesterConfig>) => void;
clearLogs: () => void;
cleanup: () => void;
}
export declare const useTester: () => UseTesterReturn;
export {};
//# sourceMappingURL=useTester.d.ts.map