import { MpSdk } from "../../bundle/sdk"; import { IMPConfig, SCREEN_POSITIONS } from "../types"; interface IScreenPositions { [SCREEN_POSITIONS.TOP_RIGHT]: { x: number; y: number; z: number; }; [SCREEN_POSITIONS.TOP_LEFT]: { x: number; y: number; z: number; }; [SCREEN_POSITIONS.BOTTOM_LEFT]: { x: number; y: number; z: number; }; [SCREEN_POSITIONS.BOTTOM_RIGHT]: { x: number; y: number; z: number; }; [SCREEN_POSITIONS.CENTER]?: { x: number; y: number; z: number; }; } declare class PlaneImage { inputs: { name: string; type: string; url: any; visible: boolean; isFirstLoad: boolean; fitToScreen: boolean; hudMode: string; isPanelEnable: boolean; panelScale: { x: number; y: number; z: number; }; panelColor: number; }; outputs: Record & MpSdk.Scene.PredefinedOutputs; context: MpSdk.Scene.IComponentContext; mesh: THREE.Mesh; panelModel: THREE.Mesh; texture: THREE.Texture; isFitScreen: boolean; events: { 'INTERACTION.CLICK': boolean; }; emits: { planeEvents: boolean; }; mediaScreenPositions: IScreenPositions; expandBtnPositions: { topRight: { posX: number; posY: number; }; topLeft: { posX: number; posY: number; }; bottomLeft: { posX: number; posY: number; }; bottomRight: { posX: number; posY: number; }; }; dismissExpandBtnPosition: { posX: number; posY: number; }; fitScreenPos: { x: number; y: number; z: number; }; constructor(mpConfig: IMPConfig); onInit(): Promise; onEvent(eventType: string, eventData?: unknown): void; renderFitScreenModel(): void; onInputsUpdated(): Promise; onDestroy(): void; } declare class PlaneVideo { inputs: { name: string; type: string; url: any; visible: boolean; isFirstLoad: boolean; autoplay: boolean; fitToScreen: boolean; hudMode: string; isPanelEnable: boolean; panelScale: { x: number; y: number; z: number; }; panelColor: number; mediaViewerId: any; }; outputs: Record & MpSdk.Scene.PredefinedOutputs; context: MpSdk.Scene.IComponentContext; events: { 'INTERACTION.CLICK': boolean; }; emits: { planeEvents: boolean; }; mesh: THREE.Mesh; planeElement: HTMLVideoElement; texture: THREE.VideoTexture; playButtonModel: THREE.Mesh; pauseButtonModel: THREE.Mesh; muteButtonModel: THREE.Mesh; unmuteButtonModel: THREE.Mesh; panelModel: THREE.Mesh; playBtnTexture: THREE.Texture; pauseBtnTexture: THREE.Texture; muteBtnTexture: THREE.Texture; unmuteBtnTexture: THREE.Texture; hasOnEndedEventAdded: boolean; isFitScreen: boolean; playbackState: 'pause' | 'play' | 'mute' | 'unmute'; audio: string; videoDuration: number; videoCurrentTime: number; mediaScreenPositions: IScreenPositions; expandBtnPositions: { topRight: { posX: number; posY: number; }; topLeft: { posX: number; posY: number; }; bottomLeft: { posX: number; posY: number; }; bottomRight: { posX: number; posY: number; }; }; dismissExpandBtnPosition: { posX: number; posY: number; }; fitScreenPos: { x: number; y: number; z: number; }; constructor(mpConfig: IMPConfig); onInit(): void; onEvent(eventType: string, eventData?: unknown): void; onInputsUpdated(): void; dismissFitToScreen(): boolean; activateFitToScreen(): void; setDockedMediascreenPlayback(action: string): void; renderPlayButtonModel(): void; renderPauseButtonModel(): void; renderMuteModel(): void; renderUnmuteModel(): void; renderFitScreenModel(): void; createMediaButtonTextures(): void; onDestroy(): void; } declare class PlanePdf { inputs: { name: string; type: string; url: any; visible: boolean; isFirstLoad: boolean; viewport: { width: number; height: number; }; clickFlag: number; }; outputs: Record & MpSdk.Scene.PredefinedOutputs; context: MpSdk.Scene.IComponentContext; nextBtnTexture: THREE.Texture; prevBtnTexture: THREE.Texture; nextButtonModel: THREE.Mesh; mesh: THREE.Mesh; prevButtonModel: THREE.Mesh; events: { 'INTERACTION.CLICK': boolean; }; emits: { planeEvents: boolean; }; mediaScreenPositions: IScreenPositions; expandBtnPositions: { topRight: { posX: number; posY: number; }; topLeft: { posX: number; posY: number; }; bottomLeft: { posX: number; posY: number; }; bottomRight: { posX: number; posY: number; }; }; isFitScreen: boolean; dismissExpandBtnPosition: { posX: number; posY: number; }; fitScreenPos: { x: number; y: number; z: number; }; nextBtn: string; prevBtn: string; constructor(mpConfig: IMPConfig); onInit(): Promise; onEvent(eventType: string, eventData?: unknown): void; refreshHUDMesh(p: { eventData: unknown; isFitScreen?: boolean; }): Promise; onInputsUpdated(): void; createArrowButtonTextures(): void; renderNextModel(): void; renderPrevModel(): void; renderFitScreenModel(): void; onDestroy(): void; } export declare function setHudState(p: { outputs: MpSdk.Scene.PredefinedOutputs; mesh: THREE.Mesh; context: MpSdk.Scene.IComponentContext; screenPos: SCREEN_POSITIONS; screenPositions: IScreenPositions; }): void; export declare const planeTypeImage = "planeTypeImage"; export declare const planeTypeVideo = "planeTypeVideo"; export declare const planeTypePdf = "planeTypePdf"; export declare const planeImageFactory: () => PlaneImage; export declare const planeVideoFactory: () => PlaneVideo; export declare const planePdfFactory: () => PlanePdf; export {};