/**
 * @param {angular.IScope} $scope Angular scope.
 * @param {import('ngeo/misc/FeatureHelper').FeatureHelper} ngeoFeatureHelper Gmf feature helper service.
 * @class
 * @hidden
 * @ngdoc controller
 * @ngname GmfFeaturestyleController
 */
export function Controller($scope: angular.IScope, ngeoFeatureHelper: import("ngeo/misc/FeatureHelper").FeatureHelper): void;
export class Controller {
    /**
     * @param {angular.IScope} $scope Angular scope.
     * @param {import('ngeo/misc/FeatureHelper').FeatureHelper} ngeoFeatureHelper Gmf feature helper service.
     * @class
     * @hidden
     * @ngdoc controller
     * @ngname GmfFeaturestyleController
     */
    constructor($scope: angular.IScope, ngeoFeatureHelper: import("ngeo/misc/FeatureHelper").FeatureHelper);
    /**
     * @type {string}
     */
    uid: string;
    /**
     * @type {?import('ol/Feature').default<import('ol/geom/Geometry').default>}
     */
    feature: import("ol/Feature").default<import("ol/geom/Geometry").default> | null;
    /**
     * @type {angular.IScope}
     */
    scope_: angular.IScope;
    /**
     * @type {import('ngeo/misc/FeatureHelper').FeatureHelper}
     */
    featureHelper_: import("ngeo/misc/FeatureHelper").FeatureHelper;
    /**
     * @type {string|undefined}
     */
    color: string | undefined;
    /**
     * @type {string|undefined}
     */
    label: string | undefined;
    /**
     * Value of the measure (line length, area, ...).
     *
     * @type {string|undefined}
     */
    measure: string | undefined;
    /**
     * Arrow possible direction on segments of lines.
     *
     * @enum {string}
     */
    arrowDirections: {
        NONE: string;
        FORWARD: string;
        BACKWARD: string;
        BOTH: string;
    };
    /**
     * Arrow possible position on lines.
     *
     * @enum {string}
     */
    arrowPositions: {
        FIRST: string;
        LAST: string;
        EVERY: string;
    };
    /**
     * @type {import('ol/events').EventsKey[]}
     */
    featureListenerKeys_: import("ol/events").EventsKey[];
    /**
     * Type of the geometry (text, point, circle, line, multiline, ...).
     *
     * @type {string|undefined}
     */
    type: string | undefined;
    /**
     * Called when a new feature is set, which can also be null.
     *
     * @param {?import('ol/Feature').default<import('ol/geom/Geometry').default>} newFeature New feature or null value.
     * @param {?import('ol/Feature').default<import('ol/geom/Geometry').default>} previousFeature Previous feature or null value.
     */
    handleFeatureSet_(newFeature: import("ol/Feature").default<import("ol/geom/Geometry").default> | null, previousFeature: import("ol/Feature").default<import("ol/geom/Geometry").default> | null): void;
    /**
     * @param {string|undefined} newColor Color.
     */
    handleColorSet_(newColor: string | undefined): void;
    /**
     * @param {number|undefined} value A name value to set or undefined to get.
     * @returns {number} The angle of the feature.
     */
    getSetAngle(value: number | undefined): number;
    /**
     * @param {string|undefined} value A name value to set or undefined to get.
     * @returns {string} The name of the feature.
     */
    getSetName(value: string | undefined): string;
    /**
     * @param {boolean|undefined} value A value to set or undefined for the
     *     purpose of showing the attribute labels or not.
     * @returns {boolean} Whether to show the labels or not.
     */
    getSetShowLabel(value: boolean | undefined): boolean;
    /**
     * @param {number|undefined} value A stroke value to set or undefined to get.
     * @returns {number} The stroke of the feature.
     */
    getSetOpacity(value: number | undefined): number;
    /**
     * @param {boolean|undefined} value A value to set or undefined to get for the
     *     purpose of showing the geometry measurements or not.
     * @returns {boolean} Whether to show the measurements or not.
     */
    getSetShowMeasure(value: boolean | undefined): boolean;
    /**
     * @param {number|undefined} value A size value to set or undefined to get.
     * @returns {number} The size of the feature.
     */
    getSetSize(value: number | undefined): number;
    /**
     * @param {number|undefined} value A stroke value to set or undefined to get.
     * @returns {number} The stroke of the feature.
     */
    getSetStroke(value: number | undefined): number;
    /**
     * @param {number|undefined} value A arrow-direction value to set or undefined to get.
     * @returns {number} The arrow-direction of the feature.
     */
    getSetArrowDirection(value: number | undefined): number;
    /**
     * @param {number|undefined} value A arrow-position value to set or undefined to get.
     * @returns {number} The arrow-position of the feature.
     */
    getSetArrowPosition(value: number | undefined): number;
    /**
     * @param {string} key The property name.
     * @param {boolean|number|string|undefined} value A value to set or undefined
     *     to get.
     * @returns {boolean|number|string} The property value of the feature.
     */
    getSetProperty_(key: string, value: boolean | number | string | undefined): boolean | number | string;
    handleFeatureChange_(): void;
    handleGeometryChange_(): void;
}
export namespace Controller {
    let $inject: string[];
}
export default myModule;
import angular from 'angular';
/**
 * @type {angular.IModule}
 * @hidden
 */
declare const myModule: angular.IModule;
