/**
 * A service that looks for certain parameters in the url and use them to fetch
 * a feature using the GMF protocol.
 *
 * @param {angular.IQService} $q Angular $q service.
 * @param {import('gmf/editing/EditFeature').EditingEditFeature} gmfEditFeature Gmf edit feature service.
 * @param {import('ngeo/statemanager/Location').StatemanagerLocation} ngeoLocation ngeo location service.
 * @class
 * @hidden
 */
export function ObjecteditingManagerService($q: angular.IQService, gmfEditFeature: import("gmf/editing/EditFeature").EditingEditFeature, ngeoLocation: import("ngeo/statemanager/Location").StatemanagerLocation): void;
export class ObjecteditingManagerService {
    /**
     * A service that looks for certain parameters in the url and use them to fetch
     * a feature using the GMF protocol.
     *
     * @param {angular.IQService} $q Angular $q service.
     * @param {import('gmf/editing/EditFeature').EditingEditFeature} gmfEditFeature Gmf edit feature service.
     * @param {import('ngeo/statemanager/Location').StatemanagerLocation} ngeoLocation ngeo location service.
     * @class
     * @hidden
     */
    constructor($q: angular.IQService, gmfEditFeature: import("gmf/editing/EditFeature").EditingEditFeature, ngeoLocation: import("ngeo/statemanager/Location").StatemanagerLocation);
    /**
     * @type {angular.IQService}
     */
    q_: angular.IQService;
    /**
     * @type {import('gmf/editing/EditFeature').EditingEditFeature}
     */
    gmfEditFeature_: import("gmf/editing/EditFeature").EditingEditFeature;
    /**
     * @type {import('ngeo/statemanager/Location').StatemanagerLocation}
     */
    ngeoLocation_: import("ngeo/statemanager/Location").StatemanagerLocation;
    /**
     * @type {?angular.IDeferred<?olFeature<import('ol/geom/Geometry').default>>}
     */
    getFeatureDefered_: angular.IDeferred<olFeature<import("ol/geom/Geometry").default> | null> | null;
    /**
     * Use the EditFeature service to fetch a single feature using parameters in
     * the url. The method returns a promise that has the feature as argument in
     * the callback method. If any parameter in the url is missing, `null` is
     * returned, otherwise the query is made. If the query returns a feature, it
     * is returned, otherwise one is created with empty geometry and with the
     * property set.
     *
     * @returns {angular.IPromise<?olFeature<import('ol/geom/Geometry').default>>} Promise.
     */
    getFeature(): angular.IPromise<olFeature<import("ol/geom/Geometry").default> | null>;
    /**
     * @returns {string|undefined} The geometry type.
     */
    getGeomType(): string | undefined;
    /**
     * @returns {number|undefined} The gmf layer node id.
     */
    getLayerNodeId(): number | undefined;
    /**
     * Called after getting features with comparison filters. Resolve the deferred
     * promise with the first returned feature (if any), otherwise resolve it
     * with a feature created with an empty geometry and the property key + value
     * that was used in the attempt to fetch it.
     *
     * @param {string} key Property key.
     * @param {string} value Property value.
     * @param {olFeature<import('ol/geom/Geometry').default>[]} features List of features.
     */
    handleGetFeatures_(key: string, value: string, features: olFeature<import("ol/geom/Geometry").default>[]): void;
}
export namespace ObjecteditingManagerService {
    let $inject: string[];
}
/**
 * *
 */
export type ObjecteditingParam = string;
export namespace ObjecteditingParam {
    let GEOM_TYPE: string;
    let ID: string;
    let LAYER: string;
    let PROPERTY: string;
    let THEME: string;
}
export default myModule;
import angular from 'angular';
import olFeature from 'ol/Feature';
/**
 * @type {angular.IModule}
 * @hidden
 */
declare const myModule: angular.IModule;
