Cleanup - unused files / unused exports / duplicate exports
[ProtonMail-WebClient.git] / packages / shared / lib / interfaces / contacts / Contact.ts
blob833d5af81bbb07ac849d712664e2337969311122
1 import type { PublicKeyReference } from '@proton/crypto';
3 import type { CONTACT_CARD_TYPE } from '../../constants';
5 export interface ContactEmail {
6     ID: string;
7     Email: string;
8     Name: string;
9     Type: string[];
10     Defaults: number;
11     Order: number;
12     ContactID: string;
13     LabelIDs: string[];
14     LastUsedTime: number;
17 export interface ContactCard {
18     Type: CONTACT_CARD_TYPE;
19     Data: string;
20     Signature: string | null;
23 export interface ContactMetadata {
24     ID: string;
25     Name: string;
26     UID: string;
27     Size: number;
28     CreateTime: number;
29     ModifyTime: number;
30     ContactEmails: ContactEmail[];
31     LabelIDs: string[];
34 export interface Contact extends ContactMetadata {
35     Cards: ContactCard[];
38 export interface ContactFormatted extends Contact {
39     emails: string[];
42 export interface ContactWithBePinnedPublicKey {
43     contactID?: string;
44     emailAddress: string;
45     name?: string;
46     isInternal: boolean;
47     bePinnedPublicKey: PublicKeyReference;
50 export interface ContactGroup {
51     ID: string;
52     Name: string;
53     Color: string;
54     Path: string;
55     Display: number;
56     Exclusive: number;
57     Notify: number;
58     Order: number;
59     Type: number;
62 export type ContactValue = string | (string | string[])[];
64 export type ContactEmailModel = Pick<ContactEmail, 'Email' | 'ContactID' | 'LabelIDs' | 'Name'> & {
65     uid: string;
66     changes: { [groupID: string]: boolean };
69 export interface ContactMergeModel {
70     orderedContacts: ContactFormatted[][];
71     isChecked: {
72         [ID: string]: boolean;
73     };
74     beDeleted: {
75         [ID: string]: boolean;
76     };