interface ProductInfo { id: number title: string description: string model3d?: string image1?: string image2?: string image3?: string } interface scene3D { id: number name: string min_distance: number max_distance: number elements: element3DType[] description?: string env: { hdr_gainmap?: string hdr_json?: string hdr_webp?: string clear_color?: string } loading?: boolean } interface element3DType { id: number model_file: string name: string description?: string parent?: number, min_distance?: number, max_distance?: number, is_enabled: boolean can_not_disable: boolean x_pos: number y_pos: number z_pos: number } interface model3DType { id?: number modelUrl?: string, modelFile?: any, name: string } interface clickableAreaType { description: string; id: number; name: string; object_name: string; image?: string; source: number; target: number; } interface PromoSidebarData { title?: string description?: string target?: string } interface PromoSidebar extends PromoSidebarData { id_clickable?: number loading: boolean is_open: boolean accordions: string[] } interface PromoScene { id: number name: string is_enabled?: boolean } interface EnvVars { focus: number, hdr_gainmap?: string, hdr_json?: string, hdr_webp?: string, clear_color?: string, } interface PageItem { id: number; images: Image[]; name: string; slug: string; is_front: boolean; scene_3d: number; } interface Image { id: number; file: string; alt: string; title: string; }