import React from 'react'; import type { Coordinates, PlotPreset, SourceSelection, TimeSeriesService } from '@opengeoweb/shared'; import type { mapTypes } from '@opengeoweb/store'; import type { InitialHarmTempAndPrecipProps } from '../MultiMapViewConnect/HarmoniePresets'; import type { ModelRunIntervalProps } from '../MultiMapViewConnect/ModelRunInterval'; export interface InitialMultiMapProps { mapPreset: mapTypes.MapPreset[]; syncGroupsIds: string[]; shouldShowZoomControls?: boolean; } export interface InitialSliderProps { sliderPreset: { mapId: string; }; syncGroupsIds: string[]; } export interface InitialMapProps { mapPreset: mapTypes.MapPreset; syncGroupsIds: string[]; mapControls?: React.ReactNode; shouldDisplayDrawControls?: boolean; displaySearchButtonInMap?: boolean; displayDataExplorerButtonOnMap?: boolean; } export interface InitialTimeSeriesProps { plotPreset: PlotPreset; services: TimeSeriesService[]; hideLocationMarkers?: boolean; syncGroupsIds: string[]; } export interface InitialSoundingsProps { selectedSources: Record; selectedLocations: Record; selectedTime?: string; diagramType?: 'SKEWT' | 'BIJVOET' | 'EMAGRAM'; syncGroupsIds: string[]; } export interface InitialPluginProps { id: string; name: string; url: string; author?: { name?: string; }; version?: string; description?: string; license?: string; } export type InitialProps = InitialMapProps | InitialMultiMapProps | InitialHarmTempAndPrecipProps | ModelRunIntervalProps | mapTypes.MapPresetInitialProps | InitialSliderProps | InitialTimeSeriesProps | InitialSoundingsProps | InitialPluginProps | Record; /** * The lookup table is for registering your own components with the workspace. * @param payload * @returns */ export type SupportedComponentTypes = 'Map' | 'MultiMap' | 'ModelRunInterval' | 'HarmonieTempAndPrecipPreset' | 'TimeSlider'; export interface ComponentsLookUpPayload { componentType: SupportedComponentTypes; id: string; title?: string; initialProps: InitialProps; } export declare const componentsLookUp: ({ componentType, initialProps, id, }: ComponentsLookUpPayload) => React.ReactElement;