import { RenderRequestInfos } from '../../../interface/FunctionTypes';
import Rendering from './Rendering';
import { AlternativeRendering } from '../../../interface/Rendering/AlternativeRendering';
import HQRenderScript from './HQRenderScript';
import { Project3dType } from './../../../interface/Planner/Project3DTypes';
import { Vector3 } from '../../../model/Planner/wcVectors';
export interface CallbackFunctionsParams {
    updatePlannerRendering: (rendering: Rendering) => void;
    updatePlannerHqRenderScriptInView: (hqRenderScript: HQRenderScript) => void;
    setRotationOrbitCubeCallback: (forceOrbitTo: boolean, rotHori: number, rotVert: number) => void;
    onRoomListLoaded: () => void;
    updateCamInfo: (camInfo: any) => void;
}
export interface ApiSettignsParams {
    renderGroup: string;
    diva3dServerUrl: string;
    divaMediaServiceUrl: string;
    organizationId: string;
    arViewerUrl?: string;
}
export interface ApiSettingsRetunParam {
    renderGroupChanged: boolean;
    diva3dServerUrlChanged: boolean;
}
export interface Request3DParameter {
    doRequestRendering: boolean;
    doRequestHqRenderScript: boolean;
    divaNr: string;
    planningData: Project3dType;
    catalogData: {
        catalogCodex: string;
        catalogGUID: string;
        lang?: string;
    };
    renderRequestInfos?: RenderRequestInfos;
    forceReloadPlanning?: boolean;
    alternateRenderInfo?: AlternativeRendering;
    alternateRenderingsExist?: boolean;
    hybrid3DInfo?: Hybrid3DInfo;
    useLatestHybridInfo?: boolean;
}
export interface Hybrid3DInfo {
    focus: Hybrid3DInfo_Focus;
    currentCamera: Hybrid3DInfo_Camera;
    useLatestCamera?: boolean;
    forceRTCam?: boolean;
    bboxgeoInfoLastFrame?: any;
}
export interface Hybrid3DInfoProps {
    focus: Hybrid3DInfo_Focus;
    useLatestCamera?: boolean;
    forceRTCam?: boolean;
    bboxgeoInfoLastFrame?: any;
}
export interface Hybrid3DInfo_Focus {
    setId?: string;
    elementId?: number;
    rotationCenter: Vector3;
    adjustZoomInUnity: boolean;
    onlyAdjustZoomBBChanged: boolean;
}
export interface Hybrid3DInfo_Camera {
    horiFov: number;
    lensShiftX: number;
    lensShiftY: number;
    name: string;
    pos: Vector3;
    rot: Vector3;
    targetPos: Vector3;
    vertFov: number;
}
export interface OnConnectionInitParams {
    status: 'SUCCESSFULL' | 'ERROR';
}
export interface HandleReceiveRendering {
    divaNr: string;
    hash: string;
    buffer: ArrayBuffer;
    url: string | undefined;
    saveMode: '0' | '1' | undefined;
}
export type RequestRenderingParams = {
    viewPointName: string;
    width: number;
    height: number;
    isFullscreenRendering: boolean;
    hasDimensionLines: boolean;
    plannerMeasureDigits: number;
    planner3DGridEnabled: boolean;
    mediaServiceSaveMode: 'STREAM' | 'PERMANENT';
    functionType: 'P3D' | 'P2D';
    catalogData: {
        catalogCodex: string;
        catalogGUID: string;
    };
    hybrid3DInfo?: Hybrid3DInfo;
    viewPointInfo: any;
    alternateRenderingsExist?: boolean;
    articleCodices?: string[];
    alternateRenderInfo?: AlternativeRendering;
};
export type Request3DParams = {
    doRequestRendering: boolean;
    doRequestHqRenderScript: boolean;
    renderHash: string;
    planningHash: string;
    divaNr: string;
    planningData: Project3dType;
    doReloadWholePlanning: boolean;
    requestRenderingParams?: RequestRenderingParams;
};
export type OptionsHost3D = {
    rendering: boolean;
    hqrenderscript: boolean;
    VPName: string;
    VPSize: string;
    VPFilename: string;
    PlanningHash: string;
    RenderHash: string;
    plannerMeasureDigits: number;
    Format: string;
    BG: string;
    MSSM: number;
    OrgId: string;
    FunctionType: string;
    CatalogCodex: string;
    CatalogGuid: string;
    ArticleCodices: string[];
    UserSessionId: string;
    v: string;
    hybrid3DInfo?: Hybrid3DInfo;
};
export type ReturnRequest3D = {
    hqRenderScript: HQRenderScript | undefined;
    rendering: Rendering | undefined;
};
//# sourceMappingURL=types.d.ts.map