import React, { ReactChild } from 'react'; import DyteClient from '@dytesdk/web-core'; type Listener = () => void; declare class DyteUpdates { private meeting; private l; constructor(meeting: DyteClient); clean(): void; addListener(listener: Listener): void; removeListener(listener: Listener): void; private update; } export declare const DyteContext: React.Context<{ meeting: DyteClient | undefined; updates: DyteUpdates | undefined; }>; /** * Provider component which makes the DyteClient object * available to nested components * @component * @param value The DyteClient instance from `useDyteClient()` * @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 DyteProvider({ value, children, renderBeforeLoad, }: { value: DyteClient | undefined; children: ReactChild | ReactChild[]; renderBeforeLoad?: boolean; }): JSX.Element; export declare namespace DyteProvider { var defaultProps: { renderBeforeLoad: boolean; }; } /** * Hook which returns the reference to the DyteClient object * @returns meeting instance from `useDyteClient()` */ export declare const useDyteMeeting: () => { meeting: DyteClient; }; export {};