import { Contact } from '../../models/contact.model'; import { Service } from '../../services/service'; import { DirectoryInternalSearchResults, DirectorySearchOptions } from '../core/directorySearch.service'; export declare const OFFICE365_AD_SVC = "Office365AdService"; export declare class Office365AdService extends Service { private logger; private authService; private errorHelperService; private profileService; private contactService; static getInstance(): Office365AdService; static build(): Office365AdService; private constructor(); /** * Search contacts in the Microsoft O365/Azure AD directories configured for the user's company by using a specified pattern to filter items. * This search is only available if the user has the feature MSO365_DIRECTORY_SEARCH in its profile. * Concerning 'extendedMode' in 'options' parameter: * If requested and the user has the feature SEARCH_BY_TAGS in its profile, a multi-criteria search will then be performed. * The multi-criteria search applies on fields firstName, lastName, jobTitle, companyName, department and tags. * If this option is not specified or the user does not have the feature SEARCH_BY_TAGS in his profile, * the search is based on names only (first name, last name and company name). * Returns the results and the total number of directory items matching the criteria. * @param searchPattern - Pattern to search * @param DirectorySearchOptions - Search options */ searchO365usersADcontacts(searchPattern: string, options?: DirectorySearchOptions): Promise; getUserDetails(contact: any): Promise; /** * This API allows users to retrieve from server one Microsoft Office 365 Azure contact card from its identifier * (API request to {@link https://api.openrainbow.org/office365/#api-users-getOffice365UserDetailsByOid Office365 portal - users - Get user details. * A new contact based on Contact model is created for the found contact. * @param oid - Office 365 Azure directory object identifier of the contact to retrieve */ getO365ContactFromServer(oid: any): Promise; getO365DirectoryContactById(oid: string): Promise; private updateContactWithData; private updateContactWithOffice365Data; /** * Method updateContactWithOffice365Details * @description Update an existing o365 contact with o365 complete data retrieved from the server * @memberof Office365AdService * @public * @param {Contact} contact The contact The o365 contact to update * @param {any} data The o365 complete data retrieved from the server */ private updateContactWithOffice365Details; /** * Update the specified exisitng RB contact instance with some provided Microsoft Outlook contact data. */ private updateContactWithOutlookSearchData; /** * This API allows users to retrieve from server one Microsoft Outlook contact card from its identifier * and update the given contact. No new contact instance is created. * @param contact - The internal contact to update with additional or last Outlook contact data. */ getOutlookContactDetails(contact: Contact): Promise; /** * This API allows users to retrieve from server one Microsoft Outlook contact card from its identifier. * A new contact based on Contact model is created for the found contact. * @param oid - Identifier of the Outlook contact to retrieve */ getOutlookContactById(oid: string): Promise; /** * Search personal contacts in the Microsoft Outlook directory by specifying a string pattern to filter items. * The pattern is the beginning of a name or a phone number. * This search is only available if the user has the feature MSO365_DIRECTORY_SEARCH in its profile. * Returns the results items matching the criteria. * @param searchPattern - Pattern to search */ searchOutlookPersonalcontacts(searchPattern: string): Promise; } //# sourceMappingURL=office365ad.service.d.ts.map