import { GuidValue } from "@omnia/fx-models/internal-do-not-import-from-here/shared/models"; import { IOmniaPropertyBag, OmniaNamedModel } from "../NamedProperty"; import { EmailPropertyDefinition, EmailPropertyValue, ImagePropertyDefinition, LanguagePropertyDefinition, PhoneNumberPropertyValue, PropertyValueBinding, TextPropertyDefinition } from "../properties"; import { IResolvedIdentity, Identity } from "./Identity"; import { IdentityTypes } from "./IdentityTypes"; import { ScopeTypes } from "./ScopeTypes"; declare class AzureAdUserPropertyValues { private resolvedUser; objectId: GuidValue; profileUrl: string; constructor(resolvedUser: ResolvedUserIdentity); } export declare class UserIdentity extends Identity { type: IdentityTypes; } export declare class ResolvedUserIdentity extends UserIdentity implements IResolvedIdentity { userTypeId: GuidValue; providerId: GuidValue; propertyValues: Array>; displayName: PropertyValueBinding; username: PropertyValueBinding; image: PropertyValueBinding; email: PropertyValueBinding; preferredLanguage: PropertyValueBinding; uiLanguage: PropertyValueBinding; providerIdentity: string; scope: string; isRemoved: boolean; firstLogin: Date; lastLogin: Date; replacedByIdentity: Identity; replacesIdentity: Identity; scopeType: ScopeTypes; static create(options: Partial): ResolvedUserIdentity; static isAzureAdUser(resolvedUser: ResolvedUserIdentity): boolean; static isOmniaUser(resolvedUser: ResolvedUserIdentity): boolean; static tryToGetAzureAdProperties(resolvedUser: ResolvedUserIdentity): AzureAdUserPropertyValues; static safeGetUiLanguage(resolvedUser: ResolvedUserIdentity): PropertyValueBinding; static isAnonymousUser(resolvedUser: ResolvedUserIdentity): boolean; static getDisplayName(user: ResolvedUserIdentity, deletedUserText: string): string; } export declare abstract class UserPropertyBagModel extends OmniaNamedModel { } export interface UserWithProperties extends ResolvedUserIdentity { properties: Array; } export interface UserWithPropertyBag extends ResolvedUserIdentity { propertyBag: IOmniaPropertyBag; } export declare class UserAccessibilitySettings extends UserPropertyBagModel { useContrastTheme: boolean; useAccessibilityFeature: boolean; constructor(); } export declare class DocumentDirectionSettings extends UserPropertyBagModel { useContrastTheme: boolean; isRTLDocument: boolean; constructor(); } export declare enum UserSortColumn { DisplayName = 1, Email = 2, Username = 3, ProviderId = 4, UserTypeId = 5 } export interface UserIdentityAddRequest { id: GuidValue; providerId: GuidValue; userTypeId: GuidValue; displayName: PropertyValueBinding; username: PropertyValueBinding; image: PropertyValueBinding; email: PropertyValueBinding; preferredLanguage: PropertyValueBinding; uiLanguage: PropertyValueBinding; propertyValues: Array>; scope: string; scopeType: ScopeTypes; } export interface UserIdentityAddOrUpdateRequestWithPassword extends UserIdentityAddRequest { password: string; } export interface UserIdentityAddOrUpdateWithAuthInformation extends UserIdentityAddRequest { authenticationInformation: UserAuthenticationInformation; } export interface UserAuthenticationInformation { authenticationEmail: EmailPropertyValue; authenticationMobile: PhoneNumberPropertyValue; disabled?: boolean; validFrom?: Date; validTo?: Date; } export interface UserAddWithAuthInfoReponse { user: ResolvedUserIdentity; setupAuthLink: string; emailSent: boolean; } export interface ResetAccountRequest { sendAuthSetupLinkByEmail: boolean; redirectUrl: string; } export {};