import { UserOrigin } from './globalConst'; import { IR8EtabRef } from './IR8EtabRef'; import { IR8IidRef } from './IR8IidRef'; import { IR8Phone } from './IR8Phone'; import { IR8Address } from './IR8Address'; import { IR8Config } from './IR8Config'; /** FireStore Database User JSON Format. Same as IR8User. */ export declare type IR8UserFS = IR8User; /** * Restomax User 1--1 linked to Firebase Auth User via UID * - Restomax User (trial/lic/admin) * - Firestore docId === user.uid !!!! * * objClass: 2034 * firestore.path: $db/users/users/$uid */ export interface IR8User { name: string; guid: string; origin: UserOrigin; photoURL?: string; etabs?: IR8EtabRef[]; IIDs?: IR8IidRef[]; email: string; phoneNumbers?: { [key: string]: IR8Phone; }; addresses?: { [key: string]: IR8Address; }; description?: string; config?: IR8Config; creationDte?: string; lastLoginDte?: string; lastLogOffDte?: string; } export declare function UserInitialValue(): Partial; /** Default Validation User * Throw Error if fail */ export declare function CheckUserIsValid(Obj: Partial | Partial): void; /** Default Validation User * return Error message if failure */ export declare function UserIsValid(Obj: Partial | Partial): string; /** Serialize IR8User to Firestore JSON */ export declare function User2JSON(Obj: Partial): IR8UserFS; /** Serialize Firestore JSON to IR8User. json can be undefined */ export declare function JSON2User(json: Partial | undefined, target: IR8User): void; /** New User from Firestore JSON */ export declare function JSONAsUser(json?: Partial): IR8User;