import { StaticRoomDataType, ViewPointDataType } from '../../../';
export interface ViewPointHostInfo {
    N: string;
    CRH: number;
    CRV: number;
    M: string;
}
export default class ViewPointHandler {
    private curViewPointName;
    private curViewPointRenderName;
    private curRoomCodex;
    private whiteroom;
    private roomListInfo;
    private staticRoomMainCategories;
    private vpInfosByRoom;
    private navInfo3D;
    constructor();
    /**
     * This function returns the room from te roomlist info.
     * @param roomCodex
     */
    private getRoomInfo;
    /**
     * This function returns the viewpoint from te roomlist info.
     * @param roomCodex
     * @param vpCodex
     */
    private getVPInfo;
    /**
     * This function resets the viewpoint.
     * If the 3d host has retuned some viewpoint information about the rotation - then set it to the start rotation information.
     * The function returns true, if the orbit cube should be updated
     */
    resetViewPoint(): void;
    zoomIn(): void;
    zoomOut(): void;
    zoomToStep(zoomStep: number): void;
    setVpName(vpName: string): void;
    focusOnElementId(setId: string, elementId: number): void;
    setVpByVal(rotX: number, rotY: number): void;
    /**
     * This function handles which roomlist is saved for which category.
     * This information is used to change the Url to the preview Images of the viewpoints. There it can be that the previewimages vary per category
     * @param roomlist  The list of codexes of the rooms
     * @param mainCategory      The main Category of a catalog. e.g. bed / sofa
     */
    setMainCategoryOfStaticRoom(roomlist: string[], mainCategory: string): void;
    /**
     *This function is called when the webPlanner receives the list of rooms with all frontend Viewpoints from the 3D host .
     * @param roomlist
     */
    initRoomList(roomlist: any, defaultBackgroundWidth: number, defaultBackgroundHeight: number): void;
    getStaticRoomList(): StaticRoomDataType[];
    setStaticRoom(roomCodex: string): void;
    setStaticViewPoint(viewPoint: ViewPointDataType): void;
    selectStaticViewpoint(vpCodex: string): ViewPointDataType | undefined;
    /**
     * This function updates the vpInformation from the host. The information is updated every time a new viewpoint is set
     * @param roomCodex
     * @param vpName
     * @param vpInfo
     */
    setVpInfoByRoomCodex(roomCodex: string, vpName: string, vpInfo: string): ViewPointHostInfo | undefined;
    /**
     * Get the vpInformation of the viewPoint on the host.
     * @param roomCodex
     * @param vpName
     */
    getVpInfoByRoomCodex(roomCodex: string, vpName: string): ViewPointHostInfo | undefined;
    /**
     * This function returns the shadow Information of the current selected room
     */
    getCurRoomShadowInfo(): {
        shadowOPT: string;
        shadowOPV: string;
    } | undefined;
    getCurRoomlistVP(): ViewPointDataType | undefined;
    getCurViewPointToRender(withoutExtensions?: boolean): string;
    getCurViewPointName(): string;
    getCurRoomCodex(): string;
    getDefaultRoom(): string;
    getCurVPIsStart(): boolean;
}
//# sourceMappingURL=ViewPointHandler.d.ts.map