export declare const nihiiRegExp: RegExp;
export declare const ssinRegExp: RegExp;
export declare const ibanRegExp: RegExp;
export declare function isValidIBAN(iban: string | null | undefined): boolean | undefined;
export declare function ibanValidate(iban: string | null | undefined): boolean | undefined;
export declare function ibanFormat(iban: string | null | undefined): string | undefined;
export declare function nihiiFormat(nihii: string | null | undefined): string | undefined;
export declare function nihiiValidate(nihii: string | null | undefined): boolean | undefined;
export declare function ssinFormat(ssin: string | null | undefined): string | undefined;
export declare function ssinValidate(ssin: string | null | undefined): boolean | undefined;
export declare function phoneNumberFormat(phoneNumber: string | null | undefined): string | undefined;
/**
 * Converts a backend date number (e.g., patient birth date) into a Date object.
 * @param dateNumber a YYYYMMDD date number from the backend
 * @return a Date object
 * @throws Error if it is impossible to create a date from the number, other if dateNumber is negative.
 * @see #dateEncode
 * @see #timeDecode
 */
export declare function dateDecode(dateNumber: number | null | undefined): Date | undefined;
/**
 * Converts a backend time number (e.g., health element openingDate) into a Date object.
 * @param timeNumber a YYYYMMDD date number from the backend
 * @return a Date object
 * @see #timeEncode
 * @see #dateDecode
 */
export declare function timeDecode(timeNumber: number | null | undefined): Date | undefined;
/**
 * Encodes a Date object into a backend date number (e.g., patient birth date).
 *
 * A Date is formatted as usual. A String or a Number is interpreted as a fuzzy date that is already
 * encoded (yyyyMMdd or yyyyMMddHHmmss) or as an epoch expressed in milliseconds.
 * @param date a Date object, or a fuzzy date / epoch as a String or Number
 * @return a YYYYMMDD date number for the backend
 * @see #dateDecode
 * @see #timeEncode
 */
export declare function dateEncode(date?: Date | Number | String | null | undefined): number | undefined;
/**
 * Encodes a Date object into a backend time number (e.g., health element openingDate).
 *
 * A Date is formatted as usual. A String or a Number is interpreted as a fuzzy date that is already
 * encoded (yyyyMMdd or yyyyMMddHHmmss) or as an epoch expressed in milliseconds.
 * @param date a Date object, or a fuzzy date / epoch as a String or Number
 * @return a YYYYMMDDHHmmss date number for the backend
 * @see #timeDecode
 * @see #dateEncode
 */
export declare function timeEncode(date: Date | Number | String | null | undefined): number | undefined;
/**
 * Formats a value and a physical unit into text.
 * @param value the numerical or string value to encode
 * @param unit the unit represented as a string (an empty string is also supported)
 */
export declare function unit(value: number | string | null | undefined, unit: string | null | undefined): string | undefined;
/**
 * 0.1 + 0.2 = 0.30000000000000004. Use this function to be better at maths.
 * @param value number
 * @return the rounded number, two after the comma
 */
export declare function amount(value: number | null | undefined): number | undefined;
/**
 * A simple formatter to keep the logic across the app.
 * Input: 2.1 ; Output: 2.10€
 */
export declare function money(value: number | null | undefined): string | undefined;
/**
 * Transform a dictionary to a url params.
 * From { key1: value1, key2: value2, ... } returns key1=value1&key2=value2&...=...
 */
export declare function toUrlParams(params: {
    [key: string]: string;
} | null | undefined): string | undefined;
export declare function personName(person: {
    firstName?: string;
    lastName?: string;
} | null | undefined): string | undefined;
export declare function personNameAbbrev(person: {
    firstName?: string;
    lastName?: string;
} | null | undefined): string | undefined;
export declare function momentFormatToDateFnsFormat(format: string | null | undefined): string | undefined;
export declare function toMoment(epochOrLongCalendar: number | null | undefined): {
    format: (format: string | null | undefined) => string | undefined;
} | undefined;
