/** * Contract that React Native bindings of any provider adapter must satisfy. * * Scope: This port currently reflects the **WebRTC family** of providers * (LiveKit, Daily, Twilio Video, etc.) which all expose `RTCView` from * `react-native-webrtc` and a `MediaStream` with `.toURL()`. * * If a non-WebRTC provider (e.g., Agora with `RtcSurfaceView`) is added * later, do NOT force-fit it into this shape — split into a parallel port * or generalize this one with a clear migration plan. The current shape * is intentional, not a placeholder. * * This is an **optional contract** — only providers that support React * Native need to satisfy it. Web-only adapters can ignore this port. */ export interface ReactNativeBindings { RTCView: ReactComponentType; MediaStream: new (...args: never[]) => MediaStreamLike; } /** * Minimal structural type matching React's `ComponentType`. * * Defined locally so this port (and the core) does not take a dependency on * `react` types. Adapters that import `ComponentType` from `react` will * remain assignable to this shape via structural typing. */ export type ReactComponentType

= (props: P) => unknown; export interface RTCViewProps { streamURL: string | null; objectFit?: 'cover' | 'contain'; mirror?: boolean; zOrder?: number; style?: unknown; } export interface MediaStreamLike { toURL(): string; readonly id: string; } //# sourceMappingURL=react-native-bindings.port.d.ts.map