import React, { PropsWithChildren } from 'react'; import { HMSActions, HMSGenericTypes, HMSNotificationInCallback, HMSNotifications, HMSNotificationTypeParam, HMSStatsStore, HMSStatsStoreWrapper, HMSStore, HMSStoreWrapper } from '@100mslive/hms-video-store'; import { HMSContextProviderProps } from './store'; export interface HMSRoomProviderProps { actions?: HMSActions; store?: HMSStoreWrapper; notifications?: HMSNotifications; stats?: HMSStatsStoreWrapper; /** * if true this will enable webrtc stats collection */ isHMSStatsOn?: boolean; leaveOnUnload?: boolean; } /** * top level wrapper for using react sdk hooks. This doesn't have any mandatory arguments, if you are already * initialising the sdk on your side, you can pass in the primitives from there as well to use hooks for * react part of your code. * @constructor */ export declare const HMSRoomProvider: ; }>({ children, actions, store, notifications, stats, isHMSStatsOn, leaveOnUnload, }: React.PropsWithChildren>) => React.FunctionComponentElement>; /** * `useHMSStore` is a read only hook which can be passed a selector to read data. * The hook can only be used in a component if HMSRoomProvider is present in its ancestors. */ export declare const useHMSStore: (selector: import("zustand").StateSelector; }>, StateSlice>, equalityFn?: import("zustand").EqualityChecker) => StateSlice; export declare const useHMSStatsStore: (selector: import("zustand").StateSelector, equalityFn?: import("zustand").EqualityChecker) => StateSlice | undefined; /** * `useHMSVanillaStore` is a read only hook which returns the vanilla HMSStore. * Usage: * ``` * const hmsStore = useHMSVanillaStore(); * const dominantSpeaker = hmsStore.getState(selectDominantSpeaker); * ``` * * Note: There's no need to use the vanilla hmsStore in React components. * This is used in rare cases where the store needs to be accessed outside a React component. * For almost every case, `useHMSStore` would get the job done. */ export declare const useHMSVanillaStore: () => import("./store").IHMSReactStore; }>>; export declare const useHMSVanillaNotifications: () => HMSNotifications | undefined; export declare const useHMSActions: () => HMSActions<{ sessionStore: Record; }>; /** * `useHMSNotifications` is a read only hook which gives the latest notification(HMSNotification) received. * @param type can be a string or an array of string for the types of notifications to listen to. If an array is passed * either declare it outside the functional component or use a useMemo to make sure its reference stays same across * rerenders for performance reasons. */ export declare const useHMSNotifications: (type?: T | undefined) => HMSNotificationInCallback | null; export declare const useIsHMSStatsOn: () => boolean;