import { MouseEventHandler, ComponentType } from 'react'; import { VideoProvidersEnum } from '../../../graphql-schema'; import { NotificationType } from '../../constants'; import { NetworkQuality, UserLanguage } from '..'; import { RebrandToastProps } from '../../components/Rebrand/RebrandToast'; export declare type Modal = 'MODAL_SCREEN_SHARING_UNSUPPORTED' | 'MODAL_SCREEN_SHARING_DENIED' | 'MODAL_SCREEN_SHARING_DENIED_BY_OS' | 'MODAL_SCREEN_SHARING_WITH_SOUND_EXPLAIN' | 'MODAL_SWITCH_SCREEN_SHARER' | 'MODAL_DEVICE_IN_USE' | 'MODAL_RATE_QUALITY' | 'MODAL_DEVICE_SELECT' | 'MODAL_PERMISSIONS_REQUEST' | 'MODAL_SUGGEST_FLOATING' | 'MODAL_CRITICAL_ERROR' | 'MODAL_DEFAULT_ERROR' | 'MOBILE_APP_PROMOTION' | 'RATE_MATERIALS' | 'FREE_LESSON' | 'MODAL_DELETE_TRANSCRIPTIONS' | 'MODAL_PERMISSIONS_TRANSCRIPT_LESSONS_REJECT' | 'MODAL_HELP' | null; export declare type Screen = 'SCREEN_START' | 'SCREEN_END_CALL' | 'SCREEN_HELP' | 'SCREEN_PERMISSIONS_DENIED' | 'SCREEN_PERMISSIONS_SUGGESTED' | 'SCREEN_UPDATE_BROWSER' | 'SCREEN_FLOATING_WINDOW' | 'SCREEN_CONNECTING' | 'SCREEN_CHECK_SUCCESS' | 'SCREEN_DURING_SCREEN_SHARING' | 'SCREEN_COLLOCUTOR_OFFLINE' | 'SCREEN_COLLOCUTOR_CAMERA_OFF' | 'SCREEN_LOBBY_SETTINGS' | 'SCREEN_LOBBY_JOINING' | null; export declare type ReactionType = 'ThumbUp' | 'SplayedFingers' | 'ClappingHands' | 'TearsOfJoy' | 'OpenMouth' | 'Check' | 'Cross' | 'Heart' | 'Fire' | 'PartyPopper' | null; export declare type ReactionAnimationType = 'bounce' | 'bubble'; interface TranslationsInterface { [key: string]: { defaultMessage: string; description: string; }; } export declare const ariaLabelTranslations: TranslationsInterface; declare type ButtonsContextType = { withLessonSummaryButton?: boolean; withChatButton?: boolean; withPreplyLogoButton?: boolean; withChangeVideoViewButton?: boolean; showVocab?: boolean; }; export declare const LangContext: import("react").Context; export declare const ButtonsContext: import("react").Context; export declare const ModalContext: import("react").Context<{ modal: Modal; setModal: (screen: Modal) => void; }>; export declare const ScreenContext: import("react").Context<{ screen: Screen; setScreen: (screen: Screen) => void; }>; export declare const CollocutorContext: import("react").Context<{ isCollocutorOnline: boolean; setIsCollocutorOnline: (isCollocutorOnline: boolean) => void; collocutorId: number | null; }>; export interface Devices { videoInputDeviceId: string | null; audioInputDeviceId: string | null; audioOutputDeviceId: string | null; } export declare const DevicesContext: import("react").Context<{ devices: Devices; setDevices: (devices: Devices) => void; }>; export interface UIProps { isClassroomOnboardingShown?: boolean; withExpandButtonInClassroom?: boolean; isInstantLesson?: boolean; isCollapsed?: boolean; isPictureInPictureEnabled?: boolean; isOnboarding?: boolean; isClassRoomDemoRoom?: boolean; isVideoActive: boolean; isCameraMuted: boolean; isCameraAllowed: boolean; isMicMuted: boolean; videoProvider: VideoProvidersEnum; isSidebarOpen?: boolean; isVideoFloating: boolean; isVideoFloatingViaModal: boolean; isOpenPreplyLinkInNewTab?: boolean; isUseWebSocketOnlineStatus?: boolean; isActiveCameraSubscribers: boolean; isScreenSharingConsumes: boolean; isScreenSharingActive: boolean; isNewAudioDeviceRecentlyConnected: boolean; triggerReactionSignal: ReactionType; triggerReactionUI: ReactionType; reactionAnimation: ReactionAnimationType; areSettingsOpen?: boolean; areTranscriptionSettingsOpen?: boolean; onTranscriptionSettingsOpen: () => void; isHelpScreenOpen?: boolean; isAudioOnlyCall: boolean; speedTestResult: NetworkQuality | null; activeSettingsTab: 'video_audio' | 'transcription'; areCollocutorRecordingConsentsGiven?: boolean; newClassroomExperience?: NewClassroomExperienceProps; isContentPage?: boolean; } export declare const UIContext: import("react").Context<{ ui: UIProps; setUiProps: (props: Partial) => void; }>; declare type RateManagerCloseParams = { isOutsideCall?: boolean; }; export declare enum VideoTileView { corner = "CORNER", sidebar = "SIDEBAR", spotlight = "SPOTLIGHT", grid = "GRID" } export interface CallbackProps { onCloseSettingsModal?: () => void; onCloseHelpWindow?: () => void; onReactionClick?: (reaction?: ReactionType) => void; onToggleFloatingWindow?: null | ((isFloatingWindow: boolean) => void); onToggleScreenSharing: (isScreenSharingActive: boolean) => void; onChangeVideoTilesView?: (view: VideoTileView) => void; onRateManagerClosed?: null | ((params?: RateManagerCloseParams) => void); onStartClassRoomOnboarding?: () => void; onLessonNetworkClick?: () => void; onPreplyLinkClick?: MouseEventHandler; } export declare const CallbackContext: import("react").Context<{ callbacks: CallbackProps; }>; export declare const RoleContext: import("react").Context<{ isClient: boolean | null; setIsClient: (isClient: boolean) => void; }>; export declare const VideoTileViewContext: import("react").Context<{ view: VideoTileView; setView: (view: VideoTileView) => void; }>; export declare const ProviderFallbackContext: import("react").Context<{ providerFallback: VideoProvidersEnum | null; setProviderFallback: (provider: VideoProvidersEnum) => void; triggerShouldSwitchToOT: () => void; }>; export declare const NetworkStatusContext: import("react").Context<{ ownNetworkIndicator: NetworkQuality | null; collocutorNetworkIndicator: NetworkQuality | null; }>; declare type CallbackVocab = { type: 'VOCAB_PRACTICE'; payload: number; }; export declare type CustomWaitingScreenComponentCallback = CallbackVocab; export declare type CustomWaitingScreenComponent = ComponentType<{ collocutorId: number; isCollocutorOnline?: boolean; isLessonStarted?: boolean; onStartCall?: (params: { fromStartLessonButton: boolean; }) => void; isStartCallLoading?: boolean; isVideoActive?: boolean; hasLobbyState?: boolean; onComplete?: (params: CustomWaitingScreenComponentCallback) => void; }>; export declare const CustomWaitingScreenComponentContext: import("react").Context; declare type DWHEvent = { event_type?: number; event_name: string; param1?: string; param2?: string; param3?: string; tutor_id?: number; lesson_id?: number; tutoring_id?: number; json_data?: string; view_name?: string; viewport_width?: number; viewport_height?: number; rum_time_ms?: number; app_timestamp?: number; }; export declare type SharedPkgCode = { sendDWHEventInAsyncBatch: (event: DWHEvent) => unknown; }; export declare const SharedPkgCodeContext: import("react").Context; export interface NotificationPayload { isOpen: boolean; title: string; text?: string; type: NotificationType; duration?: number; } export declare const NotificationContext: import("react").Context<{ notification: NotificationPayload | null; setNotification: (notification: NotificationPayload | null) => void; }>; export declare type ToastPayload = Omit; export declare const ToastContext: import("react").Context<{ toast: ToastPayload | null; setToast: (toast: ToastPayload | null) => void; }>; interface TutorEducationModalProps { show: boolean; studentId?: number; source: string; tutorId: number; onClose: () => void; } export declare type TutorEducationModalType = ((props: TutorEducationModalProps) => JSX.Element) | undefined; export declare const TutorEducationModalContext: import("react").Context<{ TutorEducationModal: TutorEducationModalType; }>; export declare type NewClassroomExperienceProps = { showControls?: boolean; onLeaveLobby?: () => void; }; export {}; //# sourceMappingURL=index.d.ts.map