/// import React from 'react'; import RFB from '../noVNC/core/rfb'; import type { Player } from "jsmpeg"; import MouseButtonMapper from "../noVNC/core/mousebuttonmapper"; export interface RFBOptions { shared: boolean; credentials: { username?: string; password?: string | null; target?: string; hiDpi?: boolean; }; repeaterID: string; wsProtocols: string | string[]; } export interface KasmVNCRFBOptions { dynamicQualityMin?: number; dynamicQualityMax?: number; jpegVideoQuality?: number; webpVideoQuality?: number; videoArea?: number; videoTime?: number; videoOutTime?: number; videoScaling?: number; treatLossless?: number; maxVideoResolutionX?: number; maxVideoResolutionY?: number; frameRate?: number; idleDisconnect?: boolean; pointerRelative?: boolean; videoQuality?: number; antiAliasing?: number; clipboardUp?: boolean; clipboardDown?: boolean; clipboardSeamless?: boolean; enableIME?: boolean; clipboardBinary?: boolean; enableWebRTC?: boolean; mouseButtonMapper?: MouseButtonMapper; enableQOI?: boolean; } export interface Props { url: string; audioUrl?: string; style?: object; className?: string; viewOnly?: boolean; rfbOptions?: Partial; kasmOptions?: Partial; focusOnClick?: boolean; clipViewport?: boolean; dragViewport?: boolean; scaleViewport?: boolean; resizeSession?: boolean; showDotCursor?: boolean; background?: string; qualityLevel?: number; compressionLevel?: number; autoConnect?: boolean; retryDuration?: number; debug?: boolean; loadingUI?: React.ReactNode; onConnect?: (rfb?: RFB) => void; onDisconnect?: (rfb?: RFB) => void; onCredentialsRequired?: (rfb?: RFB) => void; onSecurityFailure?: (e?: { detail: { status: number; reason: string; }; }) => void; onClipboard?: (e?: { detail: { text: string; }; }) => void; onBell?: () => void; onDesktopName?: (e?: { detail: { name: string; }; }) => void; onCapabilities?: (e?: { detail: { capabilities: RFB["capabilities"]; }; }) => void; } export declare enum Events { connect = 0, disconnect = 1, credentialsrequired = 2, securityfailure = 3, clipboard = 4, bell = 5, desktopname = 6, capabilities = 7 } export type EventListeners = { -readonly [key in keyof typeof Events]?: (e?: any) => void; }; export type VncScreenHandle = { connect: () => void; disconnect: () => void; connected: boolean; sendCredentials: (credentials: RFBOptions["credentials"]) => void; sendKey: (keysym: number, code: string, down?: boolean) => void; sendCtrlAltDel: () => void; focus: () => void; blur: () => void; machineShutdown: () => void; machineReboot: () => void; machineReset: () => void; clipboardPaste: (text: string) => void; rfb: RFB | null; jsmpegPlayer: Player | null; eventListeners: EventListeners; }; declare const _default: React.ForwardRefExoticComponent>; export default _default;