1 import { type PLANS } from '@proton/payments';
2 import type { ORGANIZATION_STATE, ORGANIZATION_TWOFA_SETTING } from '@proton/shared/lib/constants';
4 export interface Organization {
7 DisplayName: string; // DEPRECATED
10 TwoFactorRequired: ORGANIZATION_TWOFA_SETTING; // If 0, 2FA not required, if 1, 2FA required for admins only, if 2, 2FA required for all
11 TwoFactorGracePeriod: number; // If non-null, number of seconds until 2FA setup enforced
23 MaxSubWallets: number;
24 IsScimEnabled: boolean;
26 Features: number; // bits: 1 = catch-all addresses
27 Flags: number; // bits: 1 = loyalty, 2 = covid, 4 = smtp_submission, 8 = no_cycle_scheduled, 64 = dissident, 128 = proton, 256 = has phone support
29 UsedCalendars: number;
30 RequiresKey: number; // greater than 0 if the organization requires a key to be setup
31 RequiresDomain: number; // greater than 0 of the organization requires custom domain
32 UsedAddresses: number;
34 AssignedSpace: number;
38 InvitationsRemaining: number;
41 LoyaltyCounter: number;
42 LoyaltyIncrementTime: number;
44 BonusAddresses: number;
49 State: ORGANIZATION_STATE;
52 export interface OrganizationIdentityOutput {
53 PublicKey: string | null;
54 FingerprintSignature: string | null;
55 FingerprintSignatureAddress: string | null;
58 export interface OrganizationSettings {
60 LogoID: string | null;
61 ShowScribeWritingAssistant: boolean;
62 VideoConferencingEnabled: boolean;
65 export interface OrganizationWithSettings extends Organization {
66 Settings: OrganizationSettings;