import type {YMapLocationRequest, LngLatBounds, LngLat} from '@yandex/ymaps3-types';
import type {Feature} from '@yandex/ymaps3-clusterer';

/* Rectangle bounded by bottom-left and top-right coordinates
Inside it, we generate the first bundle of clusterer points */
export const BOUNDS: LngLatBounds = [
    [37.684775, 55.551975], 
    [50.188929, 53.191330],
    [39.723098, 43.585472]

];
/*
export const LOCATION: YMapLocationRequest = {
    bounds: BOUNDS as LngLatBounds, // starting position
    zoom: 12 // starting zoom
};

// Function for generating a pseudorandom number
const seed = (s: number) => () => {
    s = Math.sin(s) * 10000;
    return s - Math.floor(s);
};

const rnd = seed(10000); // () => Math.random()
*/
// Generating random coordinates of a point [lng, lat] in a given boundary
/*const getRandomPointCoordinates = (bounds: LngLatBounds): LngLat => [
    bounds[0][0] + (bounds[1][0] - bounds[0][0]) * rnd(),
    bounds[1][1] + (bounds[0][1] - bounds[1][1]) * rnd()
];*/

// A function that creates an array with parameters for each clusterer random point
/*export const getRandomPoints = (count: number, bounds: LngLatBounds): Feature[] => {
    return Array.from({length: count}, (_, index) => ({
        type: 'Feature',
        id: index.toString(),
        geometry: {type: 'Point', coordinates: getRandomPointCoordinates(bounds)}
    }));
};
*/