import { Application, UIOptions } from "@epicgames-ps/lib-pixelstreamingfrontend-ui-ue5.5";
import { ArcwarePixelStreaming } from "./ArcwarePixelStreaming";
export declare class ArcwareApplication extends Application {
    static Flags: {
        new (): {};
        noSession: "noSession";
    };
    stream: ArcwarePixelStreaming;
    private videoElementParent;
    private parentElement;
    private responseCallback;
    private webRtcController;
    get rootElement(): HTMLElement;
    private ArcwareSection;
    constructor(options: UIOptions & {
        stream: ArcwarePixelStreaming;
    });
    addLoveLetterhandler(): void;
    /** 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 uiDefaultButtonVisibilty;
    private preventDefaultKeyboardEvents;
    private autoPlayHandler;
    /** 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.
     */
    getApplicationResponse(callback: (response: string) => void): void;
    applicationResponse(response: string): 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;
}
