/**
 * 2024-09-06:  Migrated from fps-library-v2\src\logic\Users\
 */
/***
 *    db    db .d8888. d88888b d8888b.
 *    88    88 88'  YP 88'     88  `8D
 *    88    88 `8bo.   88ooooo 88oobY'
 *    88    88   `Y8b. 88~~~~~ 88`8b
 *    88b  d88 db   8D 88.     88 `88.
 *    ~Y8888P' `8888Y' Y88888P 88   YD
 *
 *

import { getPrincipalTypeString, ensureUserInfo, checkIfUserExistsInArray, getEmailFromLoginName, checkForLoginName
    ensureUserHere, ensureTheseUsers, getUserPermissions, getSiteAdmins,  } from '@mikezimm/npmfunctions/dist/Users/userServices';

import { IUser } from '@mikezimm/npmfunctions/dist/Users/IUserInterfaces';

 */
export interface IUser {
    title?: string;
    Title?: string;
    initials?: string;
    email?: string;
    Email?: string;
    id?: any;
    Id?: any;
    ID?: any;
    UserId?: {
        NameId: string;
        NameIdIssuer: string;
    };
    notes?: string[];
    remoteID?: any;
    PrincipalType?: number;
    isSiteAdmin?: boolean;
    IsSiteAdmin?: boolean;
    LoginName?: string;
    Name?: string;
    UserPrincipalName?: string;
    isGuest?: boolean;
    imageInitials?: string;
    imageUrl?: string;
    loginName?: string;
    text?: string;
    tertiaryText?: string;
    secondaryText?: string;
    ensureWeb?: string;
    fullWebUrl?: string;
    JobTitle?: string;
    OfficeNumber?: string;
    BaseOfficeLocation?: string;
    IsEmailAuthenticationGuestUser?: boolean;
    IsShareByEmailGuestUser?: boolean;
}
export type ISimplePermission = 'SharePoint' | 'Admin' | 'FullControl' | 'Designer' | 'Editor' | 'Approver' | 'Contributor' | 'Reader' | 'None';
export interface IFPSUser extends IUser {
    title: string;
    email: string;
    name: string;
    id: string;
    imageUrl: string;
    trickyApps: string[];
    isSiteAdmin: boolean;
    isSiteOwner: boolean;
    isGuest: boolean;
    currentCultureName: string;
    PrincipalType?: number;
    simple: ISimplePermission;
    manageWeb: boolean;
    managePermissions: boolean;
    enumeratePermissions: boolean;
    addAndCustomizePages: boolean;
    manageLists: boolean;
    approveItems: boolean;
    editListItems: boolean;
    openItems: boolean;
    crunchTime: number;
}
//# sourceMappingURL=IUserInterfaces.d.ts.map