UNPKG

@steambrew/client

Version:
256 lines (255 loc) 10.7 kB
import { EControllerType } from './Input'; import { EParentalFeature } from './Parental'; import { EResult, Unregisterable } from './shared'; export interface RemotePlay { /** * @param param1 TODO: Something about restrictions countries ? maybe it's games */ BCanAcceptInviteForGame(gameId: string, param1: string): Promise<boolean>; BCanCreateInviteForGame(gameId: string, param1: boolean): Promise<boolean>; BRemotePlayTogetherGuestOnPhoneOrTablet(steam64Id: string, guestId: number): Promise<boolean>; BRemotePlayTogetherGuestSupported(): Promise<boolean>; CancelInviteAndSession(steam64Id: string, param1: number): Promise<EResult>; CancelInviteAndSessionWithGuestID(steam64Id: string, guestId: number): Promise<EResult>; CancelRemoteClientPairing(): void; CloseGroup(): Promise<number>; CreateGroup(param0: string): Promise<EResult>; CreateInviteAndSession(steam64Id: string, param1: string): Promise<EResult>; CreateInviteAndSessionWithGuestID(steam64Id: string, guestId: number, param2: string): Promise<EResult>; GetClientID(): Promise<string>; GetClientStreamingBitrate(): Promise<number>; GetClientStreamingQuality(): Promise<number>; GetControllerType(controllerIndex: number): Promise<EControllerType>; /** * @returns an integer from 0 to 100. */ GetGameSystemVolume(): Promise<number>; GetPerUserInputSettings(steam64Id: string): Promise<RemotePlayInputSettings>; GetPerUserInputSettingsWithGuestID(steam64Id: string, guestId: number): Promise<RemotePlayInputSettings>; IdentifyController(nControllerIndex: number): void; InstallAudioDriver(): void; InstallInputDriver(): void; MoveControllerToSlot(controllerIndex: number, slot: number): void; RegisterForAdditionalParentalBlocks(callback: (blocks: EParentalFeature[]) => void): Unregisterable; RegisterForAudioDriverPrompt(callback: () => void): Unregisterable; /** * @todo no mentions of it in Steam code */ RegisterForBitrateOverride: Unregisterable; RegisterForClearControllers(callback: () => void): Unregisterable; RegisterForControllerIndexSet(callback: (steamid: string, slot: number, guestid: number) => void): Unregisterable; RegisterForDevicesChanges(callback: (devices: RemotePlayDevice[]) => void): Unregisterable; RegisterForGroupCreated(callback: (steamId: string, appId: string) => void): Unregisterable; RegisterForGroupDisbanded(callback: () => void): Unregisterable; RegisterForInputDriverPrompt(callback: () => void): Unregisterable; RegisterForInputDriverRestartNotice(callback: () => void): Unregisterable; RegisterForInputUsed(callback: (steam64Id: string, type: EClientUsedInputType, guestId: number) => void): Unregisterable; RegisterForInviteResult(callback: (steamId: string, param1: any, result: ERemoteClientLaunch) => void): Unregisterable; RegisterForNetworkUtilizationUpdate(callback: (steam64Id: string, guestId: number, networkUtilization: number, networkDuration: number) => void): Unregisterable; RegisterForPlaceholderStateChanged(callback: (isShowingPlaceholder: boolean) => void): Unregisterable; RegisterForPlayerInputSettingsChanged(callback: (steamId: string, settings: RemotePlayInputSettings, guestId: number) => void): Unregisterable; RegisterForQualityOverride(callback: (hostStreamingQualityOverride: number) => void): Unregisterable; RegisterForRemoteClientLaunchFailed(callback: (state: ERemoteClientLaunch) => void): Unregisterable; RegisterForRemoteClientStarted(callback: (steam64Id: string, appId: string) => void): Unregisterable; RegisterForRemoteClientStopped(callback: (steam64Id: string, appId: string) => void): Unregisterable; RegisterForRemoteDeviceAuthorizationCancelled(callback: () => void): Unregisterable; RegisterForRemoteDeviceAuthorizationRequested(callback: (device: string) => void): Unregisterable; RegisterForRemoteDevicePairingPINChanged(callback: (device: string, pin: string) => void): Unregisterable; RegisterForRestrictedSessionChanges(callback: (restrictedSession: boolean) => void): Unregisterable; RegisterForSessionStopped(callback: (steam64Id: string, guestId: number, avatarHash: string) => void): Unregisterable; RegisterForSessionStarted(callback: (steam64Id: string, gameId: string, guestId: number) => void): Unregisterable; RegisterForSessionStopped(callback: (steam64Id: string, guestId: number) => void): Unregisterable; RegisterForSettingsChanges(callback: (remotePlaySettings: RemotePlaySettings) => void): Unregisterable; SetClientStreamingBitrate(bitrate: number): void; SetClientStreamingQuality(quality: number): void; SetGameSystemVolume(volume: number): void; SetPerUserControllerInputEnabled(steam64Id: string, enabled: boolean): void; SetPerUserControllerInputEnabledWithGuestID(steam64Id: string, guestId: number, enabled: boolean): void; SetPerUserKeyboardInputEnabled(steam64Id: string, enabled: boolean): void; SetPerUserKeyboardInputEnabledWithGuestID(steam64Id: string, guestId: number, enabled: boolean): void; SetPerUserMouseInputEnabled(steam64Id: string, enabled: boolean): void; SetPerUserMouseInputEnabledWithGuestID(steam64Id: string, guestId: number, enabled: boolean): void; SetRemoteDeviceAuthorized(param0: boolean, param1: string): void; SetRemoteDevicePIN(pin: string): void; SetRemotePlayEnabled(enabled: boolean): void; /** * @param base64 Serialized base64 message from {@link StreamingClientConfig}. */ SetStreamingClientConfig(base64: string, sessionId: number): void; /** * Enables advanced client options. */ SetStreamingClientConfigEnabled(value: boolean): void; SetStreamingDesktopToRemotePlayTogetherEnabled(enabled: boolean): void; SetStreamingP2PScope(scope: EStreamP2PScope): void; /** * @param base64 Serialized base64 message from {@link StreamingServerConfig}. */ SetStreamingServerConfig(base64: string, sessionId: number): void; /** * Enables advanced host options. */ SetStreamingServerConfigEnabled(value: boolean): void; StopStreamingClient(): void; StopStreamingSession(id: number): void; StopStreamingSessionAndSuspendDevice(id: number): void; UnlockH264(): void; /** * Unpairs all devices. */ UnpairRemoteDevices(): void; } export declare enum EClientUsedInputType { Keyboard = 0, Mouse = 1, Controller = 2, Max = 3 } export interface RemotePlayDevice { clientId: string; clientName: string; status: string; formFactor: number; unStreamingSessionID: number; bCanSteamVR: boolean; bCanSuspend: boolean; } interface RemotePlayInputSettings { bKeyboardEnabled: true; bMouseEnabled: true; bControllerEnabled: true; } export interface RemotePlaySettings { bAV1DecodeAvailable: boolean; bHEVCDecodeAvailable: boolean; bRemotePlayDisabledBySystemPolicy: boolean; bRemotePlaySupported: boolean; bRemotePlayEnabled: boolean; eRemotePlayP2PScope: EStreamP2PScope; bRemotePlayServerConfigAvailable: boolean; bRemotePlayServerConfigEnabled: boolean; bRemotePlayClientConfigEnabled: boolean; unStreamingSessionID: number; strStreamingClientName: string; /** * If deserialized, returns {@link StreamingClientConfig}. */ RemotePlayClientConfig: StreamingClientConfig; /** * If deserialized, returns {@link StreamingServerConfig}. */ RemotePlayServerConfig: ArrayBuffer; nDefaultAudioChannels: number; nAutomaticResolutionX: number; nAutomaticResolutionY: number; } export interface StreamingClientConfig { quality?: EStreamQualityPreference; desired_resolution_x?: number; desired_resolution_y?: number; desired_framerate_numerator?: number; desired_framerate_denominator?: number; desired_bitrate_kbps?: number; enable_hardware_decoding?: boolean; enable_performance_overlay?: boolean; enable_video_streaming?: boolean; enable_audio_streaming?: boolean; enable_input_streaming?: boolean; audio_channels?: number; enable_video_hevc?: boolean; enable_performance_icons?: boolean; enable_microphone_streaming?: boolean; controller_overlay_hotkey?: string; enable_touch_controller_OBSOLETE?: boolean; p2p_scope?: EStreamP2PScope; enable_audio_uncompressed?: boolean; display_limit?: StreamVideoLimit; quality_limit?: StreamVideoLimit; runtime_limit?: StreamVideoLimit; decoder_limit: StreamVideoLimit[]; } export interface StreamingServerConfig { change_desktop_resolution?: boolean; dynamically_adjust_resolution_OBSOLETE?: boolean; enable_capture_nvfbc?: boolean; enable_hardware_encoding_nvidia_OBSOLETE?: boolean; enable_hardware_encoding_amd_OBSOLETE?: boolean; enable_hardware_encoding_intel_OBSOLETE?: boolean; software_encoding_threads?: number; enable_traffic_priority?: boolean; host_play_audio?: EStreamHostPlayAudioPreference; enable_hardware_encoding?: boolean; } export interface StreamVideoLimit { codec?: EStreamVideoCodec; mode?: StreamVideoMode; bitrate_kbps?: number; burst_bitrate_kbps?: number; } export interface StreamVideoMode { width?: number; height?: number; refresh_rate?: number; refresh_rate_numerator?: number; refresh_rate_denominator?: number; } export declare enum ERemoteClientLaunch { OK = 1, Fail = 2, RequiresUI = 3, RequiresLaunchOption = 4, RequiresEULA = 5, Timeout = 6, StreamTimeout = 7, StreamClientFail = 8, OtherGameRunning = 9, DownloadStarted = 10, DownloadNoSpace = 11, DownloadFiltered = 12, DownloadRequiresUI = 13, AccessDenied = 14, NetworkError = 15, Progress = 16, ParentalUnlockFailed = 17, ScreenLocked = 18, Unsupported = 19, DisabledLocal = 20, DisabledRemote = 21, Broadcasting = 22, Busy = 23, DriversNotInstalled = 24, TransportUnavailable = 25, Canceled = 26, Invisible = 27, RestrictedCountry = 28, Unauthorized = 29 } export declare enum EStreamVideoCodec { None = 0, Raw = 1, VP8 = 2, VP9 = 3, H264 = 4, HEVC = 5, ORBX1 = 6, ORBX2 = 7, AV1 = 8 } export declare enum EStreamHostPlayAudioPreference { Default = 0, Always = 1 } export declare enum EStreamQualityPreference { Automatic = -1, Fast = 1, Balanced = 2, Beautiful = 3 } export declare enum EStreamP2PScope { Automatic = 0, Disabled = 1, OnlyMe = 2, Friends = 3, Everyone = 4 } export {};