import type { MediaTake } from '../lib/take-types'; import { type WaitingAd } from './SfuViewer'; export type { WaitingAd }; export interface SfuViewerRecorderProps { /** Base de l'API SFU. Ex: `https://studio.amia.fr/api/sfu`. */ apiBase: string; /** Room SFU (= classroom) à consommer. */ roomId: string; /** ICE servers WebRTC. Défaut STUN public. */ iceServers?: RTCIceServer[]; /** Durée max d'un take en ms (hard cap). */ maxTakeDurationMs?: number; /** Salle d'attente : rejoindre la classe avant le publisher. Défaut true. */ waitForPublisher?: boolean; /** Horaire prévu du cours → compte à rebours en salle d'attente. */ scheduledStartAt?: number | string; /** Pubs affichées en carrousel pendant la salle d'attente. */ waitingAds?: WaitingAd[]; /** Appelé quand l'utilisateur valide la session — reçoit les takes. */ onSessionComplete: (takes: MediaTake[]) => void; /** Appelé quand l'utilisateur annule. */ onCancel: () => void; } /** * Enregistre un flux SFU distant. gère preview + salle d'attente ; * cette couche ajoute MediaRecorder multi-take sur le MediaStream reçu. */ export default function SfuViewerRecorder({ apiBase, roomId, iceServers, maxTakeDurationMs, waitForPublisher, scheduledStartAt, waitingAds, onSessionComplete, onCancel, }: SfuViewerRecorderProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=SfuViewerRecorder.d.ts.map