import type { OLBasicLayers, OLAdvancedLayers, OLBasicSources, OLAdvancedSources, OLAdvancedFormats } from "./layers"; export type DrawOptions = Omit & { id: string | number; type: "Point" | "LineString" | "Polygon" | "Circle" | "Box"; modify?: boolean; active?: boolean; geometryFunction?: import("ol/interaction/Draw").GeometryFunction; }; export type layerType = keyof OLBasicLayers | keyof OLAdvancedLayers; export type sourceType = keyof OLBasicSources | keyof OLAdvancedSources; export type VectorOrVectorTileLayer = import("ol/layer").Vector | import("ol/layer").VectorTile; export type AnyLayerWithSource = import("ol/layer/Base").default | import("ol/layer/BaseImage").default | import("ol/layer/Tile").default | VectorOrVectorTileLayer; export type AnyLayer = AnyLayerWithSource | import("ol/layer/Group").default; export type EOxInteraction = { active?: boolean; type: "draw" | "select" | "clusterExplode"; options: DrawOptions | SelectOptions | { [key: string]: any; }; }; export type EoxLayer = import("./layers").EoxLayer; export type EoxLayers = import("./layers").EoxLayer[]; export type SelectLayer = import("ol/layer/Vector").default | import("ol/layer/VectorTile").default | import("ol/layer/Tile").default | import("ol/layer/WebGLTile").default; export type SelectLayerWithFeatures = InstanceType | InstanceType; export type SelectOptions = Omit & { id: string | number; idProperty?: string; condition: "click" | "pointermove"; layer?: EoxLayer; style?: import("ol/style/flat.js").FlatStyleLike; overlay?: import("ol/Overlay").Options; /** * @property {boolean} [tooltip = true] if true, will display a tooltip when hovering over a feature. */ tooltip?: boolean; active?: boolean; panIn?: boolean; modify?: boolean; type?: string; geometryFunction?: import("ol/interaction/Draw").GeometryFunction; cursor?: "string"; atPixelOptions?: import("ol/Map").AtPixelOptions; coordinates?: boolean; projection?: { name: string; proj4_string: string; }; precision?: number; }; export type ClusterExplodeOptions = import("ol/interaction/Interaction").InteractionOptions & { id: string | number; layer?: EoxLayer; style?: import("ol/style/flat.js").FlatStyleLike; active?: boolean; /** * @property {number} [maxZoom=20] maximum zoom level after which the cluster will always be exploded. */ maxZoom?: number; atPixelOptions?: import("ol/Map").AtPixelOptions; fitOptions?: import("ol/View").FitOptions; }; export type ControlOptions = import("ol/control/Control").Options; export type GeolocationOptions = import("ol/control/Control").Options & { /** * @property {import("ol/style/flat.js").FlatStyleLike} style style definition of the position feature. */ style?: import("ol/style/flat.js").FlatStyleLike; /** * @property {boolean} centerWhenReady will pan the view to the user-location on the first position update. */ centerWhenReady?: boolean; /** * @property {boolean} highAccuracy enables high accuracy of geolocator. Required for tracking the heading. */ highAccuracy?: boolean; /** * @property {boolean} trackAccuracy tracks accuracy and displays it as a circle underneath the position feature. */ trackAccuracy?: boolean; /** * @property {boolean} trackHeading tracks heading and sets it as 'heading'-property on the position feature. * "highAccuracy" must be set in order to track heading. */ trackHeading?: boolean; /** * @property {string} buttonIcon image src of control element icon */ buttonIcon?: string; }; export type EOxClusterOptions = Omit; export type LoadingIndicatorType = "small" | "fullscreen"; export type LoadingIndicatorOptions = import("ol/control/Control").Options & { /** * @property {string} spinnerSvg svg to be used as spinner icon */ spinnerSvg?: string; /** * @property {Number} opacity opacity, defaults to 1 */ opacity?: number; /** * @property {LoadingIndicatorType} type type of appearance. Small button style of fullscreen style. Defaults to button style. */ type?: LoadingIndicatorType; }; export type ControlType = keyof ControlDictionary; type Override = Omit & V; export type ControlDictionary = { Zoom?: ConstructorParameters[0]; ScaleLine?: ConstructorParameters[0]; Rotate?: ConstructorParameters[0]; FullScreen?: ConstructorParameters[0]; ZoomSlider?: ConstructorParameters[0]; Attribution?: ConstructorParameters[0]; OverviewMap?: Override[0], { layers?: EoxLayer[] | AnyLayer[]; }>; ZoomToExtent?: ConstructorParameters[0]; MousePosition?: ConstructorParameters[0]; Geolocation?: ConstructorParameters[0]; LoadingIndicator?: ConstructorParameters[0]; }; export type AttributionLike = import("ol/source/Source").AttributionLike | string | Array; export type ProjectionLike = import("ol/proj").ProjectionLike; export type FlatGeoBufOptions = { url: string | string[]; attributions?: import("ol/source/Source").AttributionLike; wrapX?: boolean; projection?: ProjectionLike; }; export type WMTSCapabilitiesOptions = { url: string; layer: string; attributions?: import("ol/source/Source").AttributionLike; attributionsCollapsible?: boolean; cacheSize?: number; crossOrigin?: null | string; interpolate?: boolean; projection?: ProjectionLike; transition?: number; key?: string; tilePixelRatio?: number; zDirection?: number; wrapX?: boolean; dimensions: object; version: string; }; export type HTMLElementEvent = Event & { target: T; }; export type EOxAnimationOptions = import("ol/View").AnimationOptions & import("ol/View").FitOptions; /** * Configuration for the globe projection. */ export type GlobeConfig = { /** * Option for whether or not there will be terrain on the globe projection. * Defaults to false. */ terrain?: boolean; /** * Whether use high level of details or not. * Defaults to false. */ useHighLOD?: boolean; }; export type ConfigObject = { controls: ControlDictionary; layers: EoxLayers; view: { center: Array; zoom: number; zoomExtent?: import("ol/extent").Extent; projection?: ProjectionLike; minZoom?: number; maxZoom?: number; }; preventScroll: boolean; animationOptions?: EOxAnimationOptions; }; declare global { interface Window { eoxMapAdvancedOlFormats: OLAdvancedFormats; eoxMapAdvancedOlLayers: OLAdvancedLayers; eoxMapAdvancedOlSources: OLAdvancedSources; eoxMapGlobe: { create: typeof import("./plugins/globe/index").create; refresh: typeof import("./plugins/globe/openglobus").refreshGlobe; }; } } export {}; //# sourceMappingURL=types.d.ts.map