import { Application, UIOptions } from "@epicgames-ps/lib-pixelstreamingfrontend-ui-ue5.5"; import { ArcwarePixelStreaming } from "../core/ArcwarePixelStreaming"; /** * Default UI layer built on top of ArcwarePixelStreaming. * * Provides: * - Branded controls * - Audio/Mic/Stop buttons * - Love letter overlay * - Splash screen support * - Automatic file download handling * * Can be replaced with a fully custom UI. */ export declare class ArcwareApplication extends Application { static Flags: { new (): {}; noSession: "noSession"; }; private baseShowAfkOverlay; stream: ArcwarePixelStreaming; private videoElementParent; private parentElement; private webRtcController; loveLettersContainer: HTMLDivElement | undefined; private loveLettersList; private loveLettersQueue; private isProcessingQueue; private microphoneOverlay?; private _splashHost?; private _splashVideo?; private logoLoader?; get rootElement(): HTMLElement; private ArcwareSection; constructor(options: UIOptions & { stream: ArcwarePixelStreaming; }); addLoveLetterhandler(): void; initLoveLettersContainer(): void; private _loveLettersAttachTimer?; private tryAttachLoveLettersContainer; private pushLetter; private processLoveLetterQueue; private handleRemoveLoveLetters; private createMicrophoneOverlay; private removeXRIconIfDisabled; private applyBrandingFromSettings; private ensureSplashHost; private destroySplashVideo; private upsertSplashVideo; private hideSplashVideo; private isVideoUrl; /** Set's and resets hidden state of "additional" UI Elements. * For example buttons or connection icon. * These will fade in through css animation upon the videoInitialized event. * At this point in time the streamInfo is already processed. */ private uiElementsVisibility; private adjustSettingsPanel; private createAudioToggleButton; private createMicToggleButton; private createStopButton; private applyCustomStyling; private uiDefaultButtonVisibilty; private preventDefaultKeyboardEvents; private autoPlayHandler; /** * @deprecated Use onApplicationResponse instead. * Registers a persistent listener for UE responses. */ getApplicationResponse(callback: (response: string) => void): void; /** Request a response from you UE Application. * The returned response depends on the implementation of your UE Application. * It can be used to request information from the application, such as: * - a state to update your custom ui * - get the url to the pdf it uploaded to some remote service of yours * - the id of the save-game * .. anything else you could imagine. */ onApplicationResponse(callback: (response: string) => void): () => void; private applyArcwareStyles; /** Emit an event towards the UE Application. * Mainly used to bubble events like a button press or other command inputs towards the UE Application. */ emitUIInteraction(descriptor: object | string): void; private addTextToConnectOverlay; private syncAfkOverlayFromWhiteLabelling; }