import { MarkerDataInput, MarkerDataOutput } from './VPlayer.vue';
import { default as CameraSnapshot } from './CameraSnapshot';
import { CdnFileResolverCallback, I18NConfig } from '../types';
import { ApartmentJson, PlayerSettings } from './types';
import { StructureChooserDataCameraDay } from '../structureChooser/types/StructureChooserData';

declare function getCurrentRotation(): any;
declare function setCurrentRotation(rotation: [number, number, number, string]): any;
declare function getCurrentFov(): any;
declare function setCurrentFov(rotation: number): any;
declare function setCurrentCamera(cameraId: string): void;
declare function updateSelectedInterior(value: string): void;
declare function setFrontendMarkers(markers: Array<MarkerDataInput>): void;
declare function clearCurrentMarkerLayer(): void;
declare function loadDynamicMarkers(markersJson: string): void;
declare function screenToWorld(coords: {
    x: number;
    y: number;
}): {
    x: number;
    y: number;
    z: number;
};
declare function takeSnapshot(): Promise<CameraSnapshot>;
declare const _default: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
    cdnFileResolver: CdnFileResolverCallback;
    apartmentId: string;
    defaultInteriorId?: string;
    validInteriorIds?: Array<string>;
    displayViewModeSwitch?: boolean;
    websiteUrl?: string;
    i18nConfig?: I18NConfig;
    showCarousel?: boolean;
    showTimeOfDay?: boolean;
    showCompass?: boolean;
    showFullScreen?: boolean;
    showSnapshot?: boolean;
    showShare?: boolean;
    showInteriorOptions?: boolean;
    showMiniMap?: boolean;
    showFloorLevel?: boolean;
    defaultWaypointIndex?: number;
    defaultViewMode?: string;
    mouseSensitivity?: number;
    isInIframe?: boolean;
    adminMode?: boolean;
    playerSettings?: PlayerSettings;
    hasMarkersJson?: boolean;
    dynamicMarkers?: string;
    version?: string;
    showVersion?: boolean;
    enableAutoplay?: boolean;
    showVisuadoCreateButton: boolean;
}>, {
    validInteriorIds: () => any[];
    displayViewModeSwitch: boolean;
    showCarousel: boolean;
    showTimeOfDay: boolean;
    showCompass: boolean;
    showFullScreen: boolean;
    showSnapshot: boolean;
    showShare: boolean;
    showInteriorOptions: boolean;
    showMiniMap: boolean;
    showFloorLevel: boolean;
    defaultWaypointIndex: number;
    defaultViewMode: string;
    mouseSensitivity: number;
    adminMode: boolean;
    enableAutoplay: boolean;
    showVisuadoCreateButton: boolean;
    playerSettings: () => {
        temperature: number;
        targetLuminance: number;
        exposureFovScale: number;
        UNREAL_BLOOM_ENABLED: boolean;
        sharpenFilter_amount: number;
        UNREAL_BLOOM_STRENGTH: number;
        TRANSITION_MOVEMENT_SCALE: number;
        whitePoint: number[];
        lut: string;
    };
    dynamicMarkers: any;
    hasMarkersJson: boolean;
    showVersion: boolean;
}>, {
    updateSelectedInterior: typeof updateSelectedInterior;
    takeSnapshot: typeof takeSnapshot;
    setCurrentCamera: typeof setCurrentCamera;
    getCurrentRotation: typeof getCurrentRotation;
    setCurrentRotation: typeof setCurrentRotation;
    getCurrentFov: typeof getCurrentFov;
    setCurrentFov: typeof setCurrentFov;
    loadDynamicMarkers: typeof loadDynamicMarkers;
    screenToWorld: typeof screenToWorld;
    setFrontendMarkers: typeof setFrontendMarkers;
    clearCurrentMarkerLayer: typeof clearCurrentMarkerLayer;
    apartmentJson: import('vue').Ref<ApartmentJson>;
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    onError: (error: Error) => void;
    onFrontendMarkersUpdate: (markers: MarkerDataOutput[]) => void;
    saveSettings: (playerSettings: PlayerSettings) => void;
    onSnapshot: (snapshot: CameraSnapshot, rotation: [x: number, y: number, z: number]) => void;
    onVisuadoCreateButtonClicked: (snapshot: CameraSnapshot) => void;
    onInteriorUpdate: (interiorId: string) => void;
    onCameraUpdate: (cameraId: string, apartmentJson: ApartmentJson) => void;
    onSunsimUpdate: (sunsimData: StructureChooserDataCameraDay[]) => void;
    onInitialized: (playerApi: any) => void;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
    cdnFileResolver: CdnFileResolverCallback;
    apartmentId: string;
    defaultInteriorId?: string;
    validInteriorIds?: Array<string>;
    displayViewModeSwitch?: boolean;
    websiteUrl?: string;
    i18nConfig?: I18NConfig;
    showCarousel?: boolean;
    showTimeOfDay?: boolean;
    showCompass?: boolean;
    showFullScreen?: boolean;
    showSnapshot?: boolean;
    showShare?: boolean;
    showInteriorOptions?: boolean;
    showMiniMap?: boolean;
    showFloorLevel?: boolean;
    defaultWaypointIndex?: number;
    defaultViewMode?: string;
    mouseSensitivity?: number;
    isInIframe?: boolean;
    adminMode?: boolean;
    playerSettings?: PlayerSettings;
    hasMarkersJson?: boolean;
    dynamicMarkers?: string;
    version?: string;
    showVersion?: boolean;
    enableAutoplay?: boolean;
    showVisuadoCreateButton: boolean;
}>, {
    validInteriorIds: () => any[];
    displayViewModeSwitch: boolean;
    showCarousel: boolean;
    showTimeOfDay: boolean;
    showCompass: boolean;
    showFullScreen: boolean;
    showSnapshot: boolean;
    showShare: boolean;
    showInteriorOptions: boolean;
    showMiniMap: boolean;
    showFloorLevel: boolean;
    defaultWaypointIndex: number;
    defaultViewMode: string;
    mouseSensitivity: number;
    adminMode: boolean;
    enableAutoplay: boolean;
    showVisuadoCreateButton: boolean;
    playerSettings: () => {
        temperature: number;
        targetLuminance: number;
        exposureFovScale: number;
        UNREAL_BLOOM_ENABLED: boolean;
        sharpenFilter_amount: number;
        UNREAL_BLOOM_STRENGTH: number;
        TRANSITION_MOVEMENT_SCALE: number;
        whitePoint: number[];
        lut: string;
    };
    dynamicMarkers: any;
    hasMarkersJson: boolean;
    showVersion: boolean;
}>>> & {
    onOnError?: (error: Error) => any;
    onSaveSettings?: (playerSettings: PlayerSettings) => any;
    onOnSnapshot?: (snapshot: CameraSnapshot, rotation: [x: number, y: number, z: number]) => any;
    onOnFrontendMarkersUpdate?: (markers: MarkerDataOutput[]) => any;
    onOnVisuadoCreateButtonClicked?: (snapshot: CameraSnapshot) => any;
    onOnInteriorUpdate?: (interiorId: string) => any;
    onOnCameraUpdate?: (cameraId: string, apartmentJson: ApartmentJson) => any;
    onOnSunsimUpdate?: (sunsimData: StructureChooserDataCameraDay[]) => any;
    onOnInitialized?: (playerApi: any) => any;
}, {
    showFullScreen: boolean;
    showShare: boolean;
    defaultWaypointIndex: number;
    showVersion: boolean;
    mouseSensitivity: number;
    validInteriorIds: Array<string>;
    displayViewModeSwitch: boolean;
    showCarousel: boolean;
    showTimeOfDay: boolean;
    showCompass: boolean;
    showSnapshot: boolean;
    showInteriorOptions: boolean;
    showMiniMap: boolean;
    showFloorLevel: boolean;
    defaultViewMode: string;
    adminMode: boolean;
    playerSettings: PlayerSettings;
    hasMarkersJson: boolean;
    dynamicMarkers: string;
    enableAutoplay: boolean;
    showVisuadoCreateButton: boolean;
}, {}>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
