import { MouseButtonType } from 'ray-streaming'; export declare enum DisplayModeType { CONTAIN = 1, FILL = 2, COVER = 3 } export declare enum BitrateType { Adaptive = 1, SD = 2, HD = 3, FHD = 4, UHD4K = 5 } export declare enum TouchMoveType { NORMAL = 1, HIGH = 2, MAX = 3 } /** * @description [startBitrate, maxBitrate, minBitrate] */ export type BitrateMapType = [number, number, number]; export interface VirtualGlobalType { showButton: boolean; showAlias: boolean; landscape: VirtualDataType[]; portrait: VirtualDataType[]; } export declare enum StartType { NormalMode = 1, ScreenMode = 3 } export interface eventOptionType { enableKeyBoard?: boolean; enableTouchInteraction?: boolean; enableZoomInteraction?: boolean; } export declare enum ScreenDataType { Normal = 1, UDLR = 2, WASD = 3, Joystick = 4, Mouse = 5 } export declare enum SolutionShape { Rectangle = 1, Circle = 2 } export interface BlockSizeType { PADDING_SIDE: number; PADDING_HORIZONTAL: number; PADDING_VERTICAL: number; FONT_SIZE: number; AUTO_WIDTH?: number; BASE_HEIGHT: number; CURRENT_WIDTH?: number; } export interface MouseCoordinateType { mouseButtonType: MouseButtonType; pos: number[]; size: BlockSizeType; shape: SolutionShape; } export type VirtualDataType = { type: ScreenDataType; value: SolutionValue; scale?: number; }; export type SolutionValue = { pos: number[]; value: number[]; width?: number; height: number; shape?: SolutionShape; alias?: string; }; export declare enum VirtualControlDisplayType { HideAll = 0, DisplayMobile = 1, DisplayPc = 2, DisplayAll = 3 } export declare enum InputHoverButton { Hide = 0, Display = 1 } export declare enum ToolsPlatformType { Pc = 1, Mobile = 2, All = 3 } export interface DropToolsType { toolsIndex: number[]; platform: ToolsPlatformType; } export interface ExtendToolsType { id?: string; icon: string; text: string; platform: ToolsPlatformType; order: number; onClick: () => void; } export interface ToolOptionType { dropTools?: DropToolsType; extendTools?: ExtendToolsType[]; } export interface JoyStickKeycodeType { topKeycode: number; rightKeycode: number; bottomKeycode: number; leftKeycode: number; } export interface JoyStickKeycode { [key: number]: JoyStickKeycodeType; } export interface svgSizeType { w: number; h: number; } export interface gamepadDataType { joyStickType: JoyStickType; pos: number[]; size: gamepadProperty; } export interface gamepadProperty { TRAY_RADIUS: number; HANDLE_RADIUS: number; SHADOW_SIZE: number; DIRECTION_TEXT_OFFSET?: number; DIRECTION_TEXT_FONT?: string; DIRECTION_SVG_OFFSET?: number; DIRECTION_SVG_SIZE?: svgSizeType; DEAD_ZONE?: number; CIRCUMFERENCE?: number; CANVAS_RADIUS?: number; BASE_HEIGHT: number; } export declare enum JoyStickType { ONLY_HANDLE = 0, TEXT_HANDLE = 1, DIRECTION_HANDLE = 2 } export interface gamepadDataType { joyStickType: JoyStickType; pos: number[]; size: gamepadProperty; } export interface HotkeyType { value: number[]; pos: number[]; size: BlockSizeType; shape: SolutionShape; alias?: string; } export interface VirtualDirectionType { mouseCoordinate: MouseCoordinateType[]; gamepadList: gamepadDataType[]; hotkeyList: HotkeyType[]; } export interface ClientsType { isMaster: boolean; nickname: string; isControlAuthority: boolean; token: string; } export type HeartbeatMSG = { action: 'heartbeat'; }; export type ControlAuthority = { action: 'controlAuthority'; data: { token: string; }; }; export type ClientInfo = { action: 'clientInfo'; data: ClientsType[]; };