import type { ActivityNotification, AppRoleAssignment, ExportPersonalDataRequest, PasswordChange, User } from '../generated'; import type { GraphRequestOptions } from '../types'; export interface GraphUsers { getUser: (id: string, options?: { expand?: Array<'memberOf' | 'drive' | 'drives' | 'appRoleAssignments'>; select?: Array<'id' | 'displayName' | 'drive' | 'drives' | 'mail' | 'memberOf' | 'onPremisesSamAccountName' | 'surname'>; }, requestOptions?: GraphRequestOptions) => Promise; createUser: (data: User, requestOptions?: GraphRequestOptions) => Promise; editUser: (id: string, data: User, requestOptions?: GraphRequestOptions) => Promise; deleteUser: (id: string, ifMatch?: string, requestOptions?: GraphRequestOptions) => Promise; listUsers: (options?: { expand?: Array<'memberOf' | 'drive' | 'drives' | 'appRoleAssignments'>; filter?: string; orderBy?: Array<'displayName' | 'displayName desc' | 'mail' | 'mail desc' | 'onPremisesSamAccountName' | 'onPremisesSamAccountName desc'>; search?: string; select?: Array<'id' | 'displayName' | 'mail' | 'memberOf' | 'onPremisesSamAccountName' | 'surname'>; }, requestOptions?: GraphRequestOptions) => Promise; getMe: (options?: { expand?: Array<'memberOf'>; }, requestOptions?: GraphRequestOptions) => Promise; editMe: (user: User, requestOptions?: GraphRequestOptions) => Promise; changeOwnPassword: (change: PasswordChange, requestOptions?: GraphRequestOptions) => Promise; exportPersonalData: (id: string, destination?: ExportPersonalDataRequest, requestOptions?: GraphRequestOptions) => Promise; createUserAppRoleAssignment: (id: string, roleAssignment: AppRoleAssignment, requestOptions?: GraphRequestOptions) => Promise; sendActivityNotification: (id: string, notification: ActivityNotification, requestOptions?: GraphRequestOptions) => Promise; }