/**
 * Format a number as a localized scale.
 * For instance:
 *  - For 'fr-CH' the value 25000 will become '1 : 25 000'.
 *  - For 'en-US' the value 25000 will become '1 : 25,000'.
 *
 * Example:
 *
 *      <p>{{25000 | ngeoScalify}}</p>
 *
 *
 * @param {angular.IFilterService} $filter Angular filter
 * @returns {function(number): string} A function to format number into a 'scale'
 *     string.
 * @ngdoc filter
 * @ngname ngeoScalify
 */
export function ScalifyFilter($filter: angular.IFilterService): (arg0: number) => string;
export namespace ScalifyFilter {
    let $inject: string[];
}
/**
 * A filter used to format a number with a precision, using the locale.
 *
 * Arguments:
 * - opt_precision: The used precision, default is 3.
 *
 * Examples:
 *
 *      {{0.1234 | ngeoNumber}} => 0.123
 *      {{1.234 | ngeoNumber}} => 1.23
 *      {{12.34 | ngeoNumber}} => 12.3
 *      {{123.4 | ngeoNumber}} => 123
 *      {{1234 | ngeoNumber}} => 1230
 *
 * @param {angular.ILocaleService} $locale Angular locale
 * @returns {formatNumber} Function used to format number into a string.
 * @ngdoc filter
 * @ngname ngeoNumber
 */
export function NumberFilter($locale: angular.ILocaleService): formatNumber;
export namespace NumberFilter {
    let $inject_1: string[];
    export { $inject_1 as $inject };
}
/**
 * A filter used to format a number with the prefix and unit
 *
 * Arguments:
 * - opt_unit: The unit to used, default is ''.
 * - opt_type: (unit|square|binary) the type of units, default is 'unit'.
 * - opt_precision: The used precision, default is 3.
 *
 * Examples:
 *
 *      {{25000 | ngeoUnitPrefix}} => 25 k
 *      {{25000 | ngeoUnitPrefix:'m'}} => 25 km
 *      {{25000000 | ngeoUnitPrefix:'m²':'square'}} => 25 km²
 *      {{2048 | ngeoUnitPrefix:'o':'binary'}} => 2 Kio
 *
 *
 * @param {angular.IFilterService} $filter Angular filter
 * @returns {unitPrefix} Function used to format number into a string.
 * @ngdoc filter
 * @ngname ngeoUnitPrefix
 */
export function UnitPrefixFilter($filter: angular.IFilterService): unitPrefix;
export namespace UnitPrefixFilter {
    let $inject_2: string[];
    export { $inject_2 as $inject };
}
/**
 * Format a couple of numbers as number coordinates.
 *
 * Example without parameters:
 *
 *      <p>{{[7.1234, 46.9876] | ngeoNumberCoordinates}}</p>
 *      <!-- will Become 7 47 -->
 *
 * Example with defined fractionDigits and template (en-US localization):
 *
 *      <!-- With en-US localization -->
 *      <p>{{[7.1234, 46.9876] | ngeoNumberCoordinates:2:'co {x} E; {y} N'}}</p>
 *      <!-- will Become co 7.12 E; 46.99 N -->
 *      <br/>
 *      <!-- With en-US localization -->
 *      <p>{{[2600000, 1600000] | ngeoNumberCoordinates:0:'{x}, {y}'}}</p>
 *      <!-- will Become 2,600,000, 1,600,000 -->
 *      <br/>
 *      <!-- With fr-CH localization -->
 *      <p>{{[2600000, 1600000] | ngeoNumberCoordinates:0:'{x}, {y}'}}</p>
 *      <!-- will Become 2'600'000, 1'600'000 -->
 *
 * @param {angular.IFilterService} $filter Angular filter
 * @returns {numberCoordinates} A function to format numbers into coordinates string.
 * @ngdoc filter
 * @ngname ngeoNumberCoordinates
 */
export function NumberCoordinatesFilter($filter: angular.IFilterService): numberCoordinates;
export namespace NumberCoordinatesFilter {
    let $inject_3: string[];
    export { $inject_3 as $inject };
}
/**
 * Format coordinates as DMS coordinates.
 *
 * Example without parameters:
 *
 *      <p>{{[7.1234, 46.9876] | ngeoDMSCoordinates}}</p>
 *      <!-- will Become  7° 07' 24'' E 46° 59' 15'' N-->
 *
 * Example with defined fractionDigits and a template.
 *
 *      <p>{{[7.1234, 46.9876] | ngeoDMSCoordinates:2:'[{y}; {x]'}}</p>
 *      <!-- will Become [46° 59' 15.36'' N; 7° 07' 24.24'' E] -->
 *
 * @returns {dmsCoordinates} A function to format numbers into a DMS coordinates string.
 * @ngdoc filter
 * @ngname ngeoDMSCoordinates
 */
export function DMSCoordinatesFilter(): dmsCoordinates;
/**
 * A filter to mark a value as trusted HTML.
 *
 * Usage:
 *
 *    <p ng-bind-html="ctrl.someValue | ngeoTrustHtml"></p>
 *
 * If you use it, you don't require the "ngSanitize".
 *
 * @returns {function(?):string} The filter function.
 * @ngdoc filter
 * @param {angular.ISCEService} $sce Angular sce service.
 * @ngname ngeoTrustHtml
 */
export function trustHtmlFilter($sce: angular.ISCEService): (arg0: unknown) => string;
export namespace trustHtmlFilter {
    let $inject_4: string[];
    export { $inject_4 as $inject };
}
/**
 * A filter to mark a value as trusted HTML, with the addition of
 * automatically converting any string that matches the
 * StringToHtmlReplacements list to HTML.
 *
 * Usage:
 *
 *    <p ng-bind-html="ctrl.someValue | ngeoTrustHtmlAuto"></p>
 *
 * If you use it, you don't require the "ngSanitize".
 *
 * @returns {function(?):string} The filter function.
 * @ngdoc filter
 * @param {angular.ISCEService} $sce Angular sce service.
 * @param {import('ngeo/options').ngeoStringToHtmlReplacements} ngeoStringToHtmlReplacements
 *     List of replacements for string to html.
 * @ngname ngeoTrustHtmlAuto
 */
export function trustHtmlAutoFilter($sce: angular.ISCEService, ngeoStringToHtmlReplacements: import("ngeo/options").ngeoStringToHtmlReplacements): (arg0: unknown) => string;
export namespace trustHtmlAutoFilter {
    let $inject_5: string[];
    export { $inject_5 as $inject };
}
/**
 * A filter used to format a time duration in seconds into a more
 * readable form.
 * Only the two largest units will be shown.
 *
 * Examples:
 *      {{42 | ngeoDuration}} => 42 seconds
 *      {{132 | ngeoDuration}} => 2 minutes 12 seconds
 *      {{3910 | ngeoDuration}} => 1 hour 5 minutes
 *        -> Note: the remaining 10 seconds will be dropped
 *
 * @param {angular.gettext.gettextCatalog} gettextCatalog Gettext catalog.
 * @returns {duration} Function used to format a time duration in seconds into a string.
 * @ngdoc filter
 * @ngname ngeoDuration
 */
export function DurationFilter(gettextCatalog: angular.gettext.gettextCatalog): duration;
export namespace DurationFilter {
    let $inject_6: string[];
    export { $inject_6 as $inject };
}
export function removeCDATA(): (arg0: string) => string | void;
export default myModule;
/**
 * Format a number with a precision.
 *
 * Arguments:
 * - opt_precision: The used precision, default is 3.
 */
export type formatNumber = (arg0: number, arg1: number | undefined) => string;
/**
 * Format a number with the prefix and unit.
 *
 * Arguments:
 * - opt_unit: The unit to used, default is ''.
 * - opt_type: (unit|square|binary) the type of units, default is 'unit'.
 * - opt_precision: The used precision, default is 3.
 */
export type unitPrefix = (arg0: number, arg1: string | undefined, arg2: string | undefined, arg3: number | undefined) => string;
/**
 * Format a couple of numbers as number coordinates.
 *
 * Arguments:
 * - coordinates Array of two numbers.
 * - opt_fractionDigits Optional number of digit. Default to 0.
 * - opt_template Optional template. Default to '{x} {y}'.
 *     Where "{x}" will be replaced by the easting coordinate and "{y}" by the northing one. Note:
 *     Use a html entity to use the semicolon symbol into a template.
 */
export type numberCoordinates = (arg0: import("ol/coordinate").Coordinate, arg1: (number | string) | undefined, arg2: string | undefined, arg3: (boolean | string) | undefined) => string;
/**
 * Format a coordinates as DMS coordinates.
 * Arguments:
 * - coordinates Array of two numbers.
 * - opt_fractionDigits Optional number of digit. Default to 0.
 * - opt_template Optional template. Default to '{x} {y}'.
 *     Where "{x}" will be replaced by the easting coordinate, {y} by the northing one. Note: Use a html
 *     entity to use the semicolon symbol into a template.
 */
export type dmsCoordinates = (arg0: import("ol/coordinate").Coordinate, arg1: (number | string) | undefined, arg2: string | undefined) => string;
/**
 * Format a duration in seconds to a more readable form.
 * Arguments:
 * - duration The duration in seconds.
 */
export type duration = (arg0: number) => string;
import angular from 'angular';
/**
 * Format a number with a precision.
 *
 * Arguments:
 * - opt_precision: The used precision, default is 3.
 *
 * @typedef {function(number, number=): string} formatNumber
 */
/**
 * Format a number with the prefix and unit.
 *
 * Arguments:
 * - opt_unit: The unit to used, default is ''.
 * - opt_type: (unit|square|binary) the type of units, default is 'unit'.
 * - opt_precision: The used precision, default is 3.
 *
 * @typedef {function(number, string=, string=, number=): string} unitPrefix
 */
/**
 * Format a couple of numbers as number coordinates.
 *
 * Arguments:
 * - coordinates Array of two numbers.
 * - opt_fractionDigits Optional number of digit. Default to 0.
 * - opt_template Optional template. Default to '{x} {y}'.
 *     Where "{x}" will be replaced by the easting coordinate and "{y}" by the northing one. Note:
 *     Use a html entity to use the semicolon symbol into a template.
 *
 * @typedef {function(import('ol/coordinate').Coordinate, (number|string)=, string=, (boolean|string)=): string} numberCoordinates
 */
/**
 * Format a coordinates as DMS coordinates.
 * Arguments:
 * - coordinates Array of two numbers.
 * - opt_fractionDigits Optional number of digit. Default to 0.
 * - opt_template Optional template. Default to '{x} {y}'.
 *     Where "{x}" will be replaced by the easting coordinate, {y} by the northing one. Note: Use a html
 *     entity to use the semicolon symbol into a template.
 *
 * @typedef {function(import('ol/coordinate').Coordinate, (number|string)=, string=): string} dmsCoordinates
 */
/**
 * Format a duration in seconds to a more readable form.
 * Arguments:
 * - duration The duration in seconds.
 *
 * @typedef {function(number): string} duration
 */
/**
 * @type {angular.IModule}
 * @hidden
 */
declare const myModule: angular.IModule;
