import { CollaboratorShare, LinkShare, ShareRole } from '../../helpers'; import type { DriveItemCreateLink, DriveItemInvite, ListPermissionsSpaceRootSelectEnum, Permission, SharingLinkPassword, UnifiedRoleDefinition } from '../generated'; import type { GraphRequestOptions } from '../types'; type Share = CollaboratorShare | LinkShare; type ListPermissionsResponse = { shares: Share[]; allowedActions: string[]; allowedRoles: UnifiedRoleDefinition[]; count?: number; }; export interface GraphPermissions { getPermission(driveId: string, itemId: string, permId: string, graphRoles?: Record, requestOptions?: GraphRequestOptions): Promise; listPermissions(driveId: string, itemId: string, graphRoles?: Record, options?: { filter?: string; select?: Array; count?: boolean; top?: number; }, requestOptions?: GraphRequestOptions): Promise; updatePermission(driveId: string, itemId: string, permId: string, data: Permission, graphRoles?: Record, requestOptions?: GraphRequestOptions): Promise; deletePermission(driveId: string, itemId: string, permId: string, requestOptions?: GraphRequestOptions): Promise; createInvite(driveId: string, itemId: string, data: DriveItemInvite, graphRoles?: Record, requestOptions?: GraphRequestOptions): Promise; createLink(driveId: string, itemId: string, data: DriveItemCreateLink, requestOptions?: GraphRequestOptions): Promise; setPermissionPassword(driveId: string, itemId: string, permId: string, data: SharingLinkPassword, requestOptions?: GraphRequestOptions): Promise; listRoleDefinitions(requestOptions?: GraphRequestOptions): Promise; } export {};