src/contacts-new/Contact.ts
import {User} from '../users-new/User';
import {ContactType} from './ContactType';
import {Email} from './Email';
import {Phone} from './Phone';
/**
* Represents a contact. Look at {@link ContactRepository} documentation
* to find out the available ways to obtain objects adhering to this interface.
*/
export interface Contact {
readonly id: string;
readonly name: string;
readonly type: ContactType;
readonly phones: readonly Phone[];
readonly emails: readonly Email[];
readonly favorite: boolean;
/**
* When the contact is associated with a system's user, this property allows access to it.
*/
readonly user?: User;
}