/** * Adds a `select` interaction to the map. * * @param {EOxMap} EOxMap - Instance of EOxMap class. * @param {SelectLayer} selectLayer - Layer to be selected. * @param {SelectOptions | DrawOptions} options - Options for the select interaction. * @returns {EOxSelectInteraction} - The created selection interaction instance. * * @throws Will throw an error if an interaction with the specified ID already exists. */ export function addSelect(EOxMap: EOxMap, selectLayer: SelectLayer, options: SelectOptions | DrawOptions): EOxSelectInteraction; /** * @typedef {import('../main').EOxMap} EOxMap * @typedef {import("../layers").EoxLayer} EoxLayer * @typedef {import("../types").SelectLayer} SelectLayer * @typedef {import("../types").AnyLayer} AnyLayer * @typedef {import("../types").SelectLayerWithFeatures} SelectLayerWithFeatures * @typedef {import("../types").SelectOptions} SelectOptions * @typedef {import("../types").DrawOptions} DrawOptions */ /** * Class representing the EOxSelectInteraction. * Handles the selection interaction for a specified layer, including highlighting features, * displaying tooltips, and panning into selected features. */ export class EOxSelectInteraction { /** * @param {EOxMap} eoxMap - Instance of the EOxMap class. * @param {import("../types").SelectLayer} anyLayer - Layer for selection. * @param {SelectOptions} options - Options for the selection interaction. */ constructor(eoxMap: EOxMap, anyLayer: import("../types").SelectLayer, options: SelectOptions); eoxMap: import("../main").EOxMap; selectLayer: VectorLayer, any> | VectorTile, any> | import("ol/layer").Tile> | import("ol/layer").WebGLTile; options: import("../types").SelectOptions; active: boolean; panIn: boolean; tooltip: boolean; tooltipElement: Element; /** @type {Array} **/ selectedFids: Array; selectStyleLayer: VectorLayer>, Feature> | VectorTile, RenderFeature>; /** * Listener to handle selection events * @param {import("ol/MapBrowserEvent").default} event * **/ listener: (event: import("ol/MapBrowserEvent").default) => void; changeSourceListener: () => void; /** * Adds a listener on pointermove * the listener is more complex than `l === selectLayer` to * prevent multiple select-interactions from overriding eachother */ pointerMoveListener: (e: any) => void; /** * Sets the active state of the interaction. * @param {boolean} active - Whether the interaction should be active. */ setActive(active: boolean): void; /** * Pans the map to the specified feature or extent. * @param {Feature | RenderFeature | import("ol/extent").Extent} featureOrExtent - The feature or extent to pan to. * @param {Object} [options] - Additional options for the panning animation. */ panIntoFeature: (featureOrExtent: Feature | RenderFeature | import("ol/extent").Extent, options?: any) => void; /** * Highlights features by their IDs and optionally pans into their extent. * @param {Array} ids - Array of feature IDs to highlight. * @param {Object} [fitOptions] - Options for panning into the highlighted features. */ highlightById(ids: Array, fitOptions?: any): void; /** * Removes the selection interaction and associated layers from the map. */ remove(): void; /** * Retrieves the ID of the given feature. * @param {Feature | RenderFeature} feature - The feature whose ID is to be retrieved. * @returns {string | number} - The ID of the feature. * @throws Will throw an error if no valid ID is found. */ getId(feature: Feature | RenderFeature): string | number; } export type EOxMap = import("../main").EOxMap; export type EoxLayer = import("../layers").EoxLayer; export type SelectLayer = import("../types").SelectLayer; export type AnyLayer = import("../types").AnyLayer; export type SelectLayerWithFeatures = import("../types").SelectLayerWithFeatures; export type SelectOptions = import("../types").SelectOptions; export type DrawOptions = import("../types").DrawOptions; import VectorLayer from "ol/layer/Vector"; import VectorTile from "ol/layer/VectorTile"; import Feature from "ol/Feature"; import RenderFeature from "ol/render/Feature"; //# sourceMappingURL=select.d.ts.map