/**
 * @typedef {Object} SearchOptions
 * @property {HTMLElement} container
 * @property {string} url
 * @property {import("ol/source/Vector").default<unknown>} source
 * @property {import("ol/View").default} view
 */
export default class Search {
    /**
     * @param {SearchOptions} options API options.
     */
    constructor(options: SearchOptions);
    format_: GeoJSON<import("ol/Feature").default<import("ol/geom/Geometry").default>>;
    url_: URL;
    source_: import("ol/source/Vector").default<unknown>;
    view_: import("ol/View").default;
    autocomplete_: any;
    /**
     * @param {string} input
     * @returns {Promise<import("geojson").Feature[]>}
     */
    search_(input: string): Promise<import("geojson").Feature[]>;
    /**
     * @param {import("geojson").Feature} feature
     * @returns {boolean}
     */
    hasGeometry_(feature: import("geojson").Feature): boolean;
    /**
     * @param {import("geojson").Feature} result
     * @returns {string}
     */
    getResultValue_(result: import("geojson").Feature): string;
    /**
     * @param {import("geojson").Feature} result
     */
    onSubmit_(result: import("geojson").Feature): void;
}
export type SearchOptions = {
    container: HTMLElement;
    url: string;
    source: import("ol/source/Vector").default<unknown>;
    view: import("ol/View").default;
};
import GeoJSON from 'ol/format/GeoJSON';
