Cleanup - unused files / unused exports / duplicate exports
[ProtonMail-WebClient.git] / packages / shared / lib / interfaces / mail / crypto.ts
blob8641ff97d3c522b4c190417653346ca2a343d57b
1 import type { PublicKeyReference } from '@proton/crypto';
2 import type { PACKAGE_TYPE } from '@proton/shared/lib/mail/mailSettings';
4 import type { MIME_TYPES } from '../../constants';
5 import type { EncryptionPreferencesError } from '../../mail/encryptionPreferences';
6 import type { KeyTransparencyVerificationResult } from '../KeyTransparency';
7 import type { SimpleMap } from '../utils';
9 export interface SendPreferences {
10     encrypt: boolean;
11     sign: boolean;
12     pgpScheme: PACKAGE_TYPE;
13     mimeType: MIME_TYPES;
14     publicKeys?: PublicKeyReference[];
15     isPublicKeyPinned?: boolean;
16     hasApiKeys: boolean;
17     hasPinnedKeys: boolean;
18     encryptionDisabled: boolean; // if `encryptionDisabled` is true, `encrypt` will always be false
19     warnings?: string[];
20     error?: EncryptionPreferencesError;
21     ktVerificationResult?: KeyTransparencyVerificationResult;
24 export interface Packets {
25     Filename: string;
26     MIMEType: MIME_TYPES;
27     FileSize: number;
28     Inline: boolean;
29     signature?: Uint8Array;
30     Preview: Uint8Array | string;
31     keys: Uint8Array;
32     data: Uint8Array;
35 export interface Package {
36     Flags?: number;
37     Addresses?: { [email: string]: Package };
38     MIMEType?: MIME_TYPES;
39     Body?: string | Uint8Array;
40     BodyKey?: any;
41     BodyKeyPacket?: string;
42     Type?: PACKAGE_TYPE | 0;
43     PublicKey?: PublicKeyReference;
44     AttachmentKeys?: { [AttachmentID: string]: { Key: string; Algorithm: string } };
45     AttachmentKeyPackets?: { [AttachmentID: string]: string };
48 export interface PackageDirect {
49     Addresses?: SimpleMap<PackageDirect>;
50     MIMEType?: MIME_TYPES;
51     Body?: string;
52     BodyKey?: any;
53     BodyKeyPacket?: string;
54     Type?: PACKAGE_TYPE | 0;
55     PublicKey?: PublicKeyReference;
56     Token?: string;
57     EncToken?: string;
58     Auth?: {
59         Version: number;
60         ModulusID: string;
61         Salt: string;
62         Verifier: string;
63     };
64     PasswordHint?: string;
65     Signature?: number;
66     AttachmentKeys?: { Key: string; Algorithm: string }[];
67     AttachmentKeyPackets?: string[];
70 export interface AttachmentDirect {
71     Filename: string;
72     MIMEType: MIME_TYPES;
73     ContentID?: string;
74     Contents: string;
75     Headers?: any;
78 export type PackageStatus = {
79     [key in MIME_TYPES]?: boolean;
82 export type Packages = {
83     [key in MIME_TYPES]?: Package;