export type Hidden = 'hidden'; export type Edit = 'edit'; export type Always = 'always'; export type HiddenOrEdit = Hidden | Edit; export type FieldAppearance = 'viewOnly' | HiddenOrEdit; export type TabAppearance = HiddenOrEdit; export type ColumnVisibility = Hidden | Always; export interface FieldSettings { validation?: { required?: boolean; }; } export declare enum ProfilePageFields { Name = "name", Username = "username", PhoneNumber = "phoneNumber", Address = "address", JobTitle = "jobTitle" } export interface MapProfileFieldToAppearance extends Record { [ProfilePageFields.Address]: HiddenOrEdit; [ProfilePageFields.JobTitle]: HiddenOrEdit; [ProfilePageFields.Name]: HiddenOrEdit; [ProfilePageFields.Username]: FieldAppearance; [ProfilePageFields.PhoneNumber]: HiddenOrEdit; } export declare enum PrivacyPageFields { LoginSessions = "loginSessions", Mfa = "mfa" } export declare enum InviteUserModalFields { Name = "name", PhoneNumber = "phoneNumber", Username = "username" } export interface MapInviteUserFieldToAppearance extends Record { [InviteUserModalFields.Name]: HiddenOrEdit; [InviteUserModalFields.PhoneNumber]: HiddenOrEdit; [InviteUserModalFields.Username]: HiddenOrEdit; } export interface MapInviteUserFieldToSettings extends Record { [InviteUserModalFields.Name]: FieldSettings; [InviteUserModalFields.PhoneNumber]: FieldSettings; [InviteUserModalFields.Username]: FieldSettings; } export interface MapPrivacyFieldToAppearance extends Record { [PrivacyPageFields.LoginSessions]: HiddenOrEdit; [PrivacyPageFields.Mfa]: HiddenOrEdit; } export declare enum AccountPageFields { CompanyName = "companyName", Address = "address", Website = "website", Timezone = "timezone", Currency = "currency" } export declare enum UsersTableColumns { FullName = "fullName", Email = "email", Groups = "groups", Roles = "roles", Status = "status", LastSeen = "lastSeen", ManagedBy = "managedBy", Username = "username", PhoneNumber = "phoneNumber" } export interface MapAccountFieldToAppearance extends Record { [AccountPageFields.CompanyName]: FieldAppearance; [AccountPageFields.Address]: HiddenOrEdit; [AccountPageFields.Website]: HiddenOrEdit; [AccountPageFields.Timezone]: HiddenOrEdit; [AccountPageFields.Currency]: HiddenOrEdit; } export declare enum SubscriptionsPageFields { Invoices = "invoices" } export interface MapSubscriptionsFieldToAppearance extends Record { [SubscriptionsPageFields.Invoices]: HiddenOrEdit; } export declare enum SecurityPageTabs { SessionManagement = "sessionManagement", GeneralSettings = "generalSettings", IpRestrictions = "ipRestrictions", DomainRestrictions = "domainRestrictions" } export declare enum SessionManagementTabFields { IdleSessionTimeout = "idleSessionTimeout", ForceReLogin = "forceReLogin", MaximumConcurrentSessions = "maximumConcurrentSessions" } export declare enum GeneralSettingsTabFields { Mfa = "mfa", UserLockout = "userLockout", PasswordHistory = "passwordHistory" } export declare enum IpRestrictionsTabFields { IpAddressRestrictions = "ipAddressRestrictions" } export declare enum DomainRestrictionsTabFields { RestrictSignupByEmailDomain = "restrictSignupByEmailDomain" } export interface MapSecurityFieldToAppearance extends Record { [SessionManagementTabFields.IdleSessionTimeout]: FieldAppearance; [SessionManagementTabFields.ForceReLogin]: FieldAppearance; [SessionManagementTabFields.MaximumConcurrentSessions]: FieldAppearance; [GeneralSettingsTabFields.Mfa]: FieldAppearance; [GeneralSettingsTabFields.UserLockout]: FieldAppearance; [GeneralSettingsTabFields.PasswordHistory]: FieldAppearance; [IpRestrictionsTabFields.IpAddressRestrictions]: HiddenOrEdit; [DomainRestrictionsTabFields.RestrictSignupByEmailDomain]: HiddenOrEdit; } export type SecurityPageFields = SessionManagementTabFields | GeneralSettingsTabFields | IpRestrictionsTabFields | DomainRestrictionsTabFields; export declare enum AccountDetailsPageTabs { Settings = "settings", CustomLogin = "customLogin" }