// Main component
export * from './dees-geo-map.js';

// Modular exports for external use
export { renderIcon, GEO_MAP_ICONS } from './geo-map.icons.js';
export { SearchController, type INominatimResult, type IAddressSelectedEvent, type ISearchControllerConfig, type ISearchControllerCallbacks } from './geo-map.search.js';
export { NavigationController, type TNavigationMode, type INavigationState, type IOSRMRoute, type IOSRMLeg, type IOSRMStep, type IRouteCalculatedEvent, type INavigationControllerCallbacks } from './geo-map.navigation.js';

// Traffic exports
export { TrafficController, type ITrafficControllerCallbacks, type ITrafficState } from './geo-map.traffic.js';
export {
  HereTrafficProvider,
  ValhallaTrafficProvider,
  type ITrafficProvider,
  type ITrafficProviderConfig,
  type ITrafficFlowData,
  type ITrafficFlowSegment,
  type ITrafficAwareRoute,
} from './geo-map.traffic.providers.js';

// Voice synthesis exports
export { VoiceSynthesisManager, type IVoiceConfig, type IVoiceQueueItem } from './geo-map.voice.js';

// Navigation guidance exports
export {
  NavigationGuideController,
  type IGPSPosition,
  type INavigationGuideState,
  type TGuidanceEventType,
  type IGuidanceEvent,
  type INavigationGuideCallbacks,
  type INavigationCameraConfig,
} from './geo-map.navigation-guide.js';

// Mock GPS simulator exports
export {
  MockGPSSimulator,
  getSpeedDisplayName,
  getSpeedKmh,
  getSpeedPresets,
  type TSimulationSpeed,
  type ISimulationSpeedConfig,
  type IMockGPSConfig,
  type IMockGPSCallbacks,
} from './geo-map.mock-gps.js';
