import { PaletteColorOptions, PaletteGreyOptions } from './ThemeOptions/Palette'; import { FronteggThemeOptions } from './ThemeOptions'; import { LocalizationsOverrides } from './Localizations'; type PageMetadata = { visibility: 'hidden' | 'always' | 'byPermissions'; featureFlag?: string; permissions?: RolePermission[]; }; export interface UsersInviteDialogMetadata { phoneNumberField?: 'optional' | 'mandatory' | boolean; } export interface UsersMetadata extends PageMetadata { inviteDialog?: UsersInviteDialogMetadata; } interface AuditsMetadata extends PageMetadata { paginationMode?: 'virtual' | 'pages'; } export type NavigationMetadata = { profile?: PageMetadata /** extend with 'interface ProfileMetadata extends PageMetadata {}' */; privacy?: PageMetadata /** extend with 'interface PrivacyMetadata extends PageMetadata {}' */; usage?: PageMetadata /** extend with 'interface UsageMetadata extends PageMetadata {}' */; account?: PageMetadata /** extend with 'interface AccountMetadata extends PageMetadata {}' */; users?: UsersMetadata; allUsers?: PageMetadata /** extend with 'export interface AllUsersMetadata extends PageMetadata {}' */; groups?: PageMetadata /** extend with 'export interface Groups extends PageMetadata {}' */; roles?: PageMetadata /** extend with 'interface RolesMetadata extends PageMetadata {}' */; security?: PageMetadata /** extend with 'interface SecurityMetadata extends PageMetadata {}' */; sso?: PageMetadata /** extend with 'interface SsoMetadata extends PageMetadata {}' */; provisioning?: PageMetadata; audits?: AuditsMetadata; webhooks?: PageMetadata /** extend with 'interface WebhooksMetadata extends PageMetadata {}' */; apiTokens?: PageMetadata /** extend with 'interface ApiTokensMetadata extends PageMetadata {}' */; personalApiTokens?: PageMetadata /** extend with 'interface ApiTokensMetadata extends PageMetadata {}' */; subscriptions?: PageMetadata /** extend with 'interface SubscriptionsMetadata extends PageMetadata {}' */; allAccounts?: PageMetadata /** extend with 'interface AllAccountsMetadata extends PageMetadata {}' */; }; type PaletteOptions = { primary?: PaletteColorOptions; secondary?: PaletteColorOptions; danger?: PaletteColorOptions; info?: PaletteColorOptions; success?: PaletteColorOptions; warning?: PaletteColorOptions; error?: PaletteColorOptions; grey?: PaletteGreyOptions; loader?: string; }; type BreakpointsOptions = { xs: number; sm: number; md: number; lg: number; xl: number; }; type ThemeMetadata = { palette?: PaletteOptions; breakpoints?: BreakpointsOptions; }; export interface GTMConfiguration { id: string; enabled: boolean; createdAt: Date; } export interface IntegrationsMetadata { gtm?: GTMConfiguration[]; } export interface MetadataOverrides { url?: string; } export type FronteggMetadata = { theme?: ThemeMetadata; themeV2?: FronteggThemeOptions; navigation?: NavigationMetadata; localizations?: LocalizationsOverrides; integrations?: IntegrationsMetadata; metadataOverrides?: MetadataOverrides; }; export type SubscriptionRolePermissions = 'fe.subscriptions.*' | 'fe.subscriptions.read.*' | 'fe.subscriptions.write.*'; export type GroupsRolePermissions = 'fe.secure.delete.groups' | 'fe.secure.delete.groupsUsers' | 'fe.secure.read.groups' | 'fe.secure.write.groups' | 'fe.secure.write.groupsRoles' | 'fe.secure.write.groupsUsers'; export type AllAccountsPermissions = 'fe.account-hierarchy.write.subAccount' | 'fe.account-hierarchy.write.subAccountAccess' | 'fe.account-hierarchy.read.subAccount' | 'fe.account-hierarchy.delete.subAccount' | 'fe.account-hierarchy.write.subAccountManagement'; export type RolePermission = 'fe.connectivity.*' | 'fe.connectivity.delete.*' | 'fe.connectivity.delete.bellNotifications' | 'fe.connectivity.delete.emailConfig' | 'fe.connectivity.delete.slackAppRegistration' | 'fe.connectivity.delete.slackSubscriptionEvent' | 'fe.connectivity.delete.slackSubscriptions' | 'fe.connectivity.delete.smsConfig' | 'fe.connectivity.delete.webhook' | 'fe.connectivity.read.*' | 'fe.connectivity.read.emailConfig' | 'fe.connectivity.read.eventCategories' | 'fe.connectivity.read.events' | 'fe.connectivity.read.slackApp' | 'fe.connectivity.read.slackChannels' | 'fe.connectivity.read.slackSubscriptions' | 'fe.connectivity.read.slackUsers' | 'fe.connectivity.read.smsConfig' | 'fe.connectivity.read.userBellNotifications' | 'fe.connectivity.read.webhookLogs' | 'fe.connectivity.read.webhooks' | 'fe.connectivity.write.*' | 'fe.connectivity.write.emailConfig' | 'fe.connectivity.write.sendWebpushNotification' | 'fe.connectivity.write.slackAppRegistration' | 'fe.connectivity.write.slackSubscriptions' | 'fe.connectivity.write.smsConfig' | 'fe.connectivity.write.subscribeWebpush' | 'fe.connectivity.write.triggerEvent' | 'fe.connectivity.write.updateSlackSubscription' | 'fe.connectivity.write.updateUserBellNotification' | 'fe.connectivity.write.webhook' | 'fe.secure.*' | 'fe.secure.delete.*' | 'fe.secure.delete.sessions' | 'fe.secure.delete.role' | 'fe.secure.delete.samlConfiguration' | 'fe.secure.delete.securityPolicy' | 'fe.secure.delete.tenantApiTokens' | 'fe.secure.delete.userApiTokens' | 'fe.secure.delete.users' | 'fe.secure.delete.usersRoles' | 'fe.secure.read.*' | 'fe.secure.read.accountSettings' | 'fe.secure.read.permissions' | 'fe.secure.read.roles' | 'fe.secure.read.samlConfiguration' | 'fe.secure.read.securityPolicy' | 'fe.secure.read.tenantApiTokens' | 'fe.secure.read.userApiTokens' | 'fe.secure.read.users' | 'fe.secure.read.userSubTenants' | 'fe.secure.write.userSubTenants' | 'fe.secure.write.*' | 'fe.secure.write.accountSettings' | 'fe.secure.write.resendActivationEmail' | 'fe.secure.write.roles' | 'fe.secure.write.samlConfiguration' | 'fe.secure.write.securityPolicy' | 'fe.secure.write.tenantApiTokens' | 'fe.secure.write.updateRole' | 'fe.secure.write.updateUser' | 'fe.secure.write.userApiTokens' | 'fe.secure.write.users' | 'fe.secure.write.usersRoles' | 'fe.secure.write.tenantInvites' | 'fe.secure.delete.tenantInvites' | 'fe.subscriptions.*' | 'fe.subscriptions.read.*' | 'fe.subscriptions.write.*' | 'fe.account-settings.delete.account' | 'fe.secure.read.audits' | 'fe.usage.read' | 'fe.secure.delete.ipRestrictions' | 'fe.secure.write.ipRestrictions' | 'fe.secure.read.ipRestrictions' | 'fe.secure.delete.emailDomainRestrictions' | 'fe.secure.write.emailDomainRestrictions' | 'fe.secure.read.emailDomainRestrictions' | 'fe.secure.read.provisioningConfiguration' | 'fe.secure.write.provisioningConfiguration' | 'fe.secure.delete.provisioningConfiguration' | 'fe.account-settings.write.custom-login-box' | 'fe.account-settings.read.app' | 'fe.secure.write.appsUsers' | 'fe.secure.delete.appsUsers' | 'fe.secure.write.enableDisable' | 'fe.secure.read.passwordExpirationConfiguration' | 'fe.secure.write.passwordExpirationConfiguration' | AllAccountsPermissions | SubscriptionRolePermissions | GroupsRolePermissions; export {};