import RTKClient, { RTKSelfMedia, MediaConstraints, CachedUserDetails, RTKClientOptions } from '@cloudflare/realtimekit'; export { ActiveTab, ActiveTabType, AudioConsumerScoreStats, AudioMiddleware, AudioProducerScoreStats, BroadcastMessagePayload, ChatUpdateParams, CustomMessage, DeviceConfig, FileMessage, ImageMessage, JoinedPeer, LeaveRoomState, LivestreamIngestionCredentials, LivestreamState, LogData, MediaConnectionState, MediaConnectionUpdate, MediaKind, MediaPermission, Message, ProducerScoreStats, RTKBasicParticipant, RTKChat, RTKConnectedMeetings, RTKLivestream, RTKMeta, RTKParticipant, RTKParticipantMap, RTKParticipants, RTKPermissionsPreset, RTKPlugin, RTKPluginMap, RTKPlugins, RTKPolls, RTKRecording, RTKSelf, RTKSelfMedia, RTKStore, RTKThemePreset, RecordingState, RequestToJoinType, SocketConnectionState, StageStatus, StartLivestreamConfig, TextMessage, VideoConsumerScoreStats, VideoMiddleware, VideoProducerScoreStats, VideoQualityConstraints, leaveRoomState } from '@cloudflare/realtimekit'; import React, { ReactNode } from 'react'; type Listener = () => void; declare class RTKUpdates { private meeting; private l; constructor(meeting: RTKClient); clean(): void; addListener(listener: Listener): void; removeListener(listener: Listener): void; private onUpdate; } declare const RealtimeKitContext: React.Context<{ meeting: RTKClient | undefined; updates: RTKUpdates | undefined; }>; /** * Provider component which makes the RealtimeKit object * available to nested components * @component * @param value The RealtimeKitClient instance from `useRealtimeKitClient()` * @param fallback Any fallback UI you want to render until the instance initialises. */ declare function RealtimeKitProvider({ value, children, fallback, }: { value: RTKClient | undefined; children: ReactNode; fallback?: ReactNode; }): React.JSX.Element; /** * Hook which returns the reference to the RealtimeKitClient object * @returns meeting instance from `useRealtimeKitClient()` */ declare const useRealtimeKitMeeting: () => { meeting: RTKClient; }; interface RealtimeKitClientParams { resetOnLeave?: boolean; } type SelfMedia = Pick; /** * Hook to initialise media before initialising RTKClient */ declare const initRTKMedia: (options?: { video?: boolean; audio?: boolean; constraints?: MediaConstraints; }, skipAwaits?: boolean, cachedUserDetails?: CachedUserDetails | undefined) => Promise; /** * Hook which manages a RTKClient instance */ declare const useRealtimeKitClient: (clientParams?: RealtimeKitClientParams) => [RTKClient, (options: RTKClientOptions) => Promise]; type StateSelector = (state: T) => U; /** * Hook which extracts data from the RTKClient object */ declare const useRealtimeKitSelector: (selector: StateSelector) => StateSlice; export { RealtimeKitContext, RealtimeKitProvider, SelfMedia, initRTKMedia, useRealtimeKitClient, useRealtimeKitMeeting, useRealtimeKitSelector };