import { StructureChooserDataCameraDay } from '../structureChooser/types/StructureChooserData';

export type PlayerSettings = {
    temperature: number;
    targetLuminance: number;
    exposureFovScale: number;
    UNREAL_BLOOM_ENABLED: boolean;
    sharpenFilter_amount: number;
    UNREAL_BLOOM_STRENGTH: number;
    TRANSITION_MOVEMENT_SCALE: number;
    whitePoint: [r: number, g: number, b: number];
    lut: string;
};
export type FullPlayerSettingBaseOptions<T = string> = {
    label: string;
    type: string;
    value: T;
};
export type FullPlayerSettingNumberOptions = FullPlayerSettingBaseOptions<number> & {
    min: number;
    max: number;
    step: number;
};
export type FullPlayerSettingBooleanOptions = FullPlayerSettingBaseOptions<boolean>;
export type FullPlayerSettingLutOptions = FullPlayerSettingBaseOptions<string> & {
    items: Array<{
        text: string;
        value: string;
    }>;
};
export type FullPlayerSettings = {
    temperature: FullPlayerSettingNumberOptions;
    targetLuminance: FullPlayerSettingNumberOptions;
    exposureFovScale: FullPlayerSettingNumberOptions;
    UNREAL_BLOOM_ENABLED: FullPlayerSettingBooleanOptions;
    sharpenFilter_amount: FullPlayerSettingNumberOptions;
    UNREAL_BLOOM_STRENGTH: FullPlayerSettingNumberOptions;
    TRANSITION_MOVEMENT_SCALE: FullPlayerSettingNumberOptions;
    whitePoint: FullPlayerSettingBaseOptions;
    lut: FullPlayerSettingLutOptions;
};
export type VirtualPlayerViewMode = 'virtualTour' | 'slideShow' | '';
export type ConfigJson = {
    projectID: string;
    defaultArchetypeID: string;
    archetypes: Array<{
        archetypeID: string;
        description: {
            en: string;
            nb: string;
            sv: string;
            fi: string;
        };
        title: {
            en: string;
            nb: string;
            sv: string;
            fi: string;
        };
    }>;
    has360: boolean;
    version: number;
};
export type ApartmentJson = {
    version: number;
    id: string;
    name: string;
    type: string;
    dayOfYear: number;
    timeInHours: number;
    offsetUTC: number;
    latitude: number;
    longitude: number;
    defaultMinimap: any;
    minimaps: Array<any>;
    cameras: Array<{
        id: string;
        type: string;
        floor_vertical_position: string;
        title: string;
        description: string;
        floorLevel: number;
        position: string;
        rotation: string;
        uposition: string;
        urotation: string;
        hasQA: boolean;
        fieldOfView: number;
        sunsimDayOfYear?: Array<StructureChooserDataCameraDay>;
    }>;
};
export type ThumbsJson = {
    version: number;
    id: string;
    cameras: Array<{
        v: string;
        id: string;
        title: string;
        description: string;
        thumbnail_url: string;
    }>;
};
export type MiniMapJson = {
    storeys: Array<{
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
        };
        fovY: number;
        sunsimFiles: Array<string>;
        sunsimFilesTimeStamps: Array<string>;
        defaultSunsimFile: string;
    }>;
};
