import { Observable } from "rxjs"; import { CollectionDetailsResponse } from "@bitwarden/admin-console/common"; import { UserId } from "@bitwarden/common/types/guid"; import { CollectionAccessSelectionView, CollectionAdminView } from "../models"; export abstract class CollectionAdminService { abstract collectionAdminViews$( organizationId: string, userId: UserId, ): Observable; abstract update( collection: CollectionAdminView, userId: UserId, ): Promise; abstract create( collection: CollectionAdminView, userId: UserId, ): Promise; abstract delete(organizationId: string, collectionId: string): Promise; abstract bulkAssignAccess( organizationId: string, collectionIds: string[], users: CollectionAccessSelectionView[], groups: CollectionAccessSelectionView[], ): Promise; }