import { IAddress } from './address.interface'; export interface IPerson { FullName: string; IDNo: string; IDType: string; Email: string; ContactNo: string; DefaultAddress: IAddress; TaxIdentificationNo: string; /** * This is used to retrieve the details of the abstract properties of this(exclude the address). * When implementing this method, please include a check to see if the value has been loaded into the object. * If the values have already been retrieved, no need to go back to the database to fetch the data. * @returns {Promise<{ FullName: string; IDNo: string; IDType: string; Email: string; ContactNo: string; }> | * { FullName: string; IDNo: string; IDType: string; Email: string; ContactNo: string; }} - The details of the person */ getDetails(): | Promise<{ FullName: string; IDNo: string; IDType: string; Email: string; ContactNo: string; }> | { FullName: string; IDNo: string; IDType: string; Email: string; ContactNo: string; }; }