import React, { ReactNode } from 'react'; import { CreateLocalTrackOptions, ConnectOptions, LocalAudioTrack, LocalVideoTrack, Room, LocalDataTrack } from 'twilio-video'; import { ErrorCallback } from '../../types'; export interface IVideoContext { room: Room | null; localTracks: (LocalAudioTrack | LocalVideoTrack | LocalDataTrack)[]; isConnecting: boolean; connect: (token: string) => Promise; onError: ErrorCallback; getLocalVideoTrack: (newOptions?: CreateLocalTrackOptions) => Promise; getLocalAudioTrack: (deviceId?: string) => Promise; isAcquiringLocalTracks: boolean; removeLocalVideoTrack: () => void; isSharingScreen: boolean; toggleScreenShare: () => void; getAudioAndVideoTracks: () => Promise; } export declare const VideoContext: React.Context; interface VideoProviderProps { options?: ConnectOptions; onError: ErrorCallback; children: ReactNode; } export declare function VideoProvider({ options, children, onError, }: VideoProviderProps): JSX.Element; export {};