/**
 * 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<import("ol/source").Vector<any>, any> | import("ol/layer").WebGLTile | import("ol/layer").Tile<import("ol/source").Tile<import("ol").Tile>> | VectorTile<import("ol/source").VectorTile<any>, any>;
    options: import("../types").SelectOptions;
    active: boolean;
    panIn: boolean;
    tooltip: boolean;
    tooltipElement: Element;
    /** @type {Array<string|number>} **/
    selectedFids: Array<string | number>;
    selectStyleLayer: VectorLayer<import("ol/source").Vector<Feature<import("ol/geom").Geometry, {
        [x: string]: any;
    }>>, Feature<import("ol/geom").Geometry, {
        [x: string]: any;
    }>> | VectorTile<import("ol/source").VectorTile<RenderFeature>, 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<string | number>} ids - Array of feature IDs to highlight.
     * @param {Object} [fitOptions] - Options for panning into the highlighted features.
     */
    highlightById(ids: Array<string | number>, 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