import Pageable from '../../common/model/Pageable'; import { Collection } from '../model/Collection'; import CollectionFilter from '../model/CollectionFilter'; import { AddCommentToCollectionVideRequest, CreateCollectionRequest, UpdateCollectionRequest } from '../model/CollectionRequest'; import { ListViewCollection } from '../model/ListViewCollection'; import { CollectionPermissions } from '../model/CollectionPermissions'; import PromotedForCollectionFilter from '../model/PromotedForCollectionFilter'; export interface CollectionsClient { getCollections(filter: CollectionFilter): Promise>; getMyCollections(filter: CollectionFilter): Promise>; getMySavedCollections(filter: CollectionFilter): Promise>; getMyCollectionsWithoutDetails(filter: CollectionFilter): Promise>; getMySavedCollectionsWithoutDetails(filter: CollectionFilter): Promise>; getMyUserSharedBookmarkedCollections(filter: CollectionFilter): Promise>; getMyBoclipsBookmarkedCollections(filter: CollectionFilter): Promise>; getMySavedAndEditableCollectionsWithoutDetails(filter: CollectionFilter): Promise>; getPromotedForCollections(filter: PromotedForCollectionFilter): Promise; get(id: string, projection?: string, referer?: string): Promise; create(request: CreateCollectionRequest): Promise; update(id: string, request: UpdateCollectionRequest): Promise; updatePermission(collection: Collection, permissions: CollectionPermissions): Promise; safeUpdate(collection: Collection, request: UpdateCollectionRequest): Promise; addVideoToCollection(collection: Collection | ListViewCollection, videoId: string, highlightId: string | null): Promise; removeVideoFromCollection(collection: Collection | ListViewCollection, videoId: string, highlightId: string | null): Promise; addCommentToCollectionVideo(collection: Collection, request: AddCommentToCollectionVideRequest): Promise; removeCommentFromCollectionVideo(collection: Collection, commentId: string): Promise; bookmark(collection: Collection): Promise; unbookmark(collection: Collection): Promise; delete(collection: Collection): Promise; }