export interface UserProfileConfig { attributes?: UserProfileAttribute[]; groups?: UserProfileGroup[]; unmanagedAttributePolicy?: UnmanagedAttributePolicy; } export interface UserProfileAttribute { name?: string; validations?: Record; validators?: Record; annotations?: Record; required?: UserProfileAttributeRequired; readOnly?: boolean; permissions?: UserProfileAttributePermissions; selector?: UserProfileAttributeSelector; displayName?: string; group?: string; multivalued?: boolean; } export interface UserProfileAttributeRequired { roles?: string[]; scopes?: string[]; } export interface UserProfileAttributePermissions { view?: string[]; edit?: string[]; } export interface UserProfileAttributeSelector { scopes?: string[]; } export interface UserProfileGroup { name?: string; displayHeader?: string; displayDescription?: string; annotations?: Record; } export interface UserProfileAttributeMetadata { name?: string; displayName?: string; required?: boolean; readOnly?: boolean; group?: string; annotations?: Record; validators?: Record>; multivalued?: boolean; } export interface UserProfileAttributeGroupMetadata { name?: string; displayHeader?: string; displayDescription?: string; annotations?: Record; } export interface UserProfileMetadata { attributes?: UserProfileAttributeMetadata[]; groups?: UserProfileAttributeGroupMetadata[]; } export declare enum UnmanagedAttributePolicy { Disabled = "DISABLED", Enabled = "ENABLED", AdminView = "ADMIN_VIEW", AdminEdit = "ADMIN_EDIT" }