import ICustomer from '../Interfaces/Customer'; export declare enum AnnonymousPropertyType { EMAIL = 1, PHONE = 2, NAME = 3, FIRSTNAME = 4, LASTNAME = 5, ADDRESS = 6, POSTAL_CODE = 7, CITY = 8, CRC = 9, G2 = 10, EMPTY = 11 } export interface IAnnonymousProperty { path: string; type: AnnonymousPropertyType; conditionPath?: string; conditionCompare?: string; conditionValue?: any; } export interface IAnnonymousCollection { collectionName: string; properties: IAnnonymousProperty[]; } export declare const g2Properties: IAnnonymousProperty[]; /** * Replace a value with anonymized value * @param val The original value * @param type The type of data * @returns the new value */ export declare const getRandomValue: (val: string, type: AnnonymousPropertyType) => string; /** * Get an object property value * @param obj The object to scan * @param props The path of the property to get * @returns the property value */ export declare const getObjectProperty: (obj: any, props: string) => any; /** * Set an object property to an anonymized value if it exists * @param obj The object to look into * @param props The property path * @param type The property type used to shuffle the data * @returns The object with the edited value */ export declare const setObjectProperty: (obj: any, props: string, type: AnnonymousPropertyType) => any; /** * Anonymise the customer data if in test env * @param c The customer data * @returns The new customer data */ export declare const hideG2CustomerInfoIfNeeded: (c: ICustomer | undefined) => ICustomer | undefined;