/**
 * @param {angular.IScope} $scope Angular scope.
 * @param {import('ngeo/misc/EventHelper').EventHelper} ngeoEventHelper Ngeo event helper service
 * @class
 * @hidden
 * @ngdoc controller
 * @ngname ngeoAttributesController
 */
export function Controller($scope: angular.IScope, ngeoEventHelper: import("ngeo/misc/EventHelper").EventHelper): void;
export class Controller {
    /**
     * @param {angular.IScope} $scope Angular scope.
     * @param {import('ngeo/misc/EventHelper').EventHelper} ngeoEventHelper Ngeo event helper service
     * @class
     * @hidden
     * @ngdoc controller
     * @ngname ngeoAttributesController
     */
    constructor($scope: angular.IScope, ngeoEventHelper: import("ngeo/misc/EventHelper").EventHelper);
    /**
     * The list of attributes to create the form with.
     *
     * @type {import('ngeo/format/Attribute').Attribute[]}
     */
    attributes: import("ngeo/format/Attribute").Attribute[];
    /**
     * Whether the fieldset should be disabled or not.
     *
     * @type {boolean}
     */
    disabled: boolean;
    /**
     * The feature containing the values.
     *
     * @type {?import('ol/Feature').default<import('ol/geom/Geometry').default>}
     */
    feature: import("ol/Feature").default<import("ol/geom/Geometry").default> | null;
    /**
     * The properties bound to the form, initialized with the inner properties
     * of the feature.
     *
     * @type {Object<string, *>}
     */
    properties: {
        [x: string]: any;
    };
    /**
     * @type {angular.IScope}
     */
    scope_: angular.IScope;
    /**
     * @type {import('ngeo/misc/EventHelper').EventHelper}
     */
    ngeoEventHelper_: import("ngeo/misc/EventHelper").EventHelper;
    /**
     * While changes happen from the form (from the template), they are applied
     * to the feature inner properties. The 'propertychange' event registered
     * above does the opposite, i.e. it listens to the feature inner properties
     * changes and apply them to the form. To prevent circular issues, while
     * applying changes coming from the form, this flag is set. While set, changes
     * from the feature inner properties are ignored.
     *
     * @type {boolean}
     */
    updating_: boolean;
    /**
     * Initialize the component.
     */
    $onInit(): void;
    /**
     * Called when an input node value changes
     *
     * @param {string} name Attribute name
     */
    handleInputChange(name: string): void;
    /**
     * Never keep a undefined values, use null.
     * On boolean, replace null by false.
     * On date, datetime and time replace empty string by null.
     *
     * @param {import('ngeo/format/Attribute.js').Attribute} attribute
     */
    sanitize_(attribute: import("ngeo/format/Attribute.js").Attribute): void;
    /**
     * Cleanup event listeners.
     */
    $onDestroy(): void;
    /**
     * @param {Event|import('ol/events/Event').default} evt Event.
     */
    handleFeaturePropertyChange_(evt: Event | import("ol/events/Event").default): void;
}
export namespace Controller {
    let $inject: string[];
}
export default myModule;
import angular from 'angular';
/**
 * @type {angular.IModule}
 * @hidden
 */
declare const myModule: angular.IModule;
