import { type ReactNode } from 'react'; import type { UseRemoteSourceReturn } from '../hooks/useRemoteSource'; /** Créa publicitaire affichée pendant la salle d'attente (carrousel). * Distinct de `AdSlot` (réservation ad-network) — ici une créa directe. */ export interface WaitingAd { /** URL de l'image de la pub. */ imageUrl: string; /** Lien ouvert au clic (nouvel onglet). Optionnel. */ clickUrl?: string; /** Légende / texte alternatif. */ label?: string; /** Durée d'affichage avant rotation, en secondes. Défaut 6. */ durationSec?: number; } export interface SfuViewerProps { /** Résultat de useRemoteSource — fourni par le consumer (pas de réseau ici). */ remote: UseRemoteSourceReturn; /** Room SFU (= classroom) — affiché dans le header / la salle d'attente. */ roomId: string; /** Horaire prévu du cours (ms epoch ou ISO) → compte à rebours en attente. */ scheduledStartAt?: number | string; /** Pubs affichées en carrousel pendant la salle d'attente. */ waitingAds?: WaitingAd[]; /** Mute la preview vidéo. Défaut true (autoplay sans geste utilisateur). */ videoMuted?: boolean; /** Affiche les contrôles natifs