import React, { ReactChild } from 'react'; import RealtimeKitClient from '@cloudflare/realtimekit'; type Listener = () => void; declare class RealtimeKitUpdates { private meeting; private l; constructor(meeting: RealtimeKitClient); clean(): void; addListener(listener: Listener): void; removeListener(listener: Listener): void; private update; } export declare const RealtimeKitContext: React.Context<{ meeting: RealtimeKitClient | undefined; updates: RealtimeKitUpdates | undefined; }>; /** * Provider component which makes the RealtimeKitClient object * available to nested components * @component * @param value The RealtimeKitClient instance from `useRealtimeKitClient()` * @param renderBeforeLoad The provider will not render children by default * until it gets a client object, renderBeforeLoad can be used to override that */ export declare function RealtimeKitProvider({ value, children, fallback, }: { value: RealtimeKitClient | undefined; children: ReactChild | ReactChild[]; fallback?: ReactChild | ReactChild[]; }): React.JSX.Element; /** * Hook which returns the reference to the RealtimeKitClient object * @returns meeting instance from `useRealtimeKitClient()` */ export declare const useRealtimeKitMeeting: () => { meeting: RealtimeKitClient; }; export {};