/**
 * Provides a function that adds an "active" property (using
 * `Object.defineProperty`) to an interaction, making it possible to use ngModel
 * to activate/deactivate interactions.
 *
 * Example:
 *
 *      <input type="checkbox" ngModel="interaction.active" />
 *
 * @param {import('ol/interaction/Interaction').default} interaction Interaction to decorate.
 */
export function interactionDecoration(interaction: import("ol/interaction/Interaction").default): void;
/**
 * Provides a function that adds properties (using
 * `Object.defineProperty`) to the layer, making it possible to control layer
 * properties with ngModel.
 *
 * Example:
 *
 *      <input type="checkbox" ngModel="layer.visible" />
 *
 * @param {import('ol/layer/Base').default} layer Layer to decorate.
 */
export function layerDecoration(layer: import("ol/layer/Base").default): void;
/**
 * Provides a function that adds a 'loading 'property (using
 * `Object.defineProperty`) to an ol.layer.Group or a layer with
 * an ol.source.Tile or an ol.source.Image source.
 * This property is true when the layer is loading and false otherwise.
 *
 * Example:
 *
 *      <span ng-if="layer.loading">please wait</span>
 *
 * @param {import('ol/layer/Base').default} layer layer.
 * @param {angular.IScope} $scope Scope.
 */
export function layerLoading(layer: import("ol/layer/Base").default, $scope: angular.IScope): void;
