better-xcloud/src/types/global.d.ts
2025-01-28 11:28:26 +07:00

56 lines
1.7 KiB
TypeScript
Executable File

import type { BxExposed } from "@/utils/bx-exposed";
import type { AllPresets, ControllerShortcutPresetRecord } from "./presets";
import type { GlobalPref } from "@/enums/pref-keys";
import type { StreamSettings, type StreamSettingsData } from "@/utils/stream-settings";
import type { BxEvent } from "@/utils/bx-event";
import type { BxEventBus } from "@/utils/bx-event-bus";
import type { BxLogger } from "@/utils/bx-logger";
import type { XcloudInputChannel } from "@/utils/gamepad";
export {};
declare global {
interface Window {
AppInterface: any;
BX_FLAGS?: BxFlags;
BX_CE: (elmName: string, props: { [index: string]: any }={}) => HTMLElement;
BX_EXPOSED: typeof BxExposed & Partial<{
shouldShowSensorControls: boolean;
stopTakRendering: boolean;
dialogRoutes: {
closeAll: () => void;
};
showStreamMenu: () => void;
inputChannel: XcloudInputChannel | undefined;
streamSession: any;
touchLayoutManager: any;
}>;
BX_REMOTE_PLAY_CONFIG: BxStates.remotePlay.config;
BX_STREAM_SETTINGS: StreamSettingsData;
BX_FETCH: typeof window['fetch'];
BxEvent: typeof BxEvent;
BxEventBus: typeof BxEventBus;
BxLogger: typeof BxLogger;
localRedirect: (path: stringn) => void;
testTouchLayout: (layout: any) => void;
chrome?: any;
// xCloud properties
xbcUser?: {
isSignedIn: boolean;
};
MSA: any;
MeControl: any;
adobe: any;
}
interface Navigator {
orgUserAgent?: string;
orgUserAgentData?: any;
}
}