import type { ReactNode } from 'react'; import type { Class } from 'type-fest'; type GeoJsonEditMode = unknown; export interface EditableModesMapping { icon: ReactNode; } export type MeasurementSystem = 'metric' | 'imperial'; export type MeasurementUnitMetricDistance = 'm-km' | 'kilometer' | 'meter' | 'centimeter' | 'milimeter'; export type MeasurementUnitImperialDistance = 'ft-mi' | 'mile' | 'yard' | 'feet'; export type MeasurementUnit = MeasurementUnitMetricDistance | MeasurementUnitImperialDistance; export type MeasurementMode = 'distance' | 'buffer' | 'area'; export interface MeasurementModeOption { value: M; mode: Class; } export type MeasurementModes = Record>; export interface MeasurementUnitOption { value: U; system?: MeasurementSystem; } export type MeasurementUnits = Record[]>; export type MeasurementOptionsMode = Record; export type MeasurementOptionsUnit = Record; export type CustomMeasureMode = InstanceType>; export type MeasurementModesMapping = Record; export interface MeasureUnitMapping { short: string; } export type MeasurementUnitsMapping = Record; export type LassoToolsMode = 'polygon' | 'rectangle' | 'circle' | 'lasso' | 'edit'; export interface LassoToolsModeOption { value: M; mode: Class; } export type LassoToolsModes = Record>; export type LassoToolOptionsMode = Record; export type LassoToolsModesMapping = Record; export type CustomLassoToolsMode = InstanceType>; export {};