import Base, { MaybeRaw } from "../../../Base"; import { Comment, CommentSortDirection, CommentSortField, CreateComment, EditComment, Reply } from "../../../interfaces/cosmo/comment"; /** * @class Comment * @extends Base * * @remarks * **Under development, breaking changes possible** * * Represents a Comment resource in Cosmo, providing methods to interact with the Comment API. */ export declare class CosmoComment extends Base { protected getEndpoint(endpoint: string): string; /** * Create a new Comment in the specified Organization, Space and Namespace for a specific Asset Reference. * @remarks * ** Under development, breaking changes possible** * @param orgName Name of the Organization * @param spaceName Name of the Space * @param namespaceName Name of the Namespace * @param comment Content of the Comment to create * @param annotation Whether to include annotations in the response * @returns The created Comment */ createComment(orgName: string, spaceName: string, namespaceName: string, comment: CreateComment, annotation?: boolean, raw?: { raw: R; }): Promise>; /** * List Comments * @remarks * ** Under development, breaking changes possible** * @param orgName Name of the Organization * @param spaceName Name of the Space * @param namespaceName Name of the Namespace * @param limit Maximum number of comments to return, user -1 for no limit * @param page Page number for pagination * @param annotation Whether to include annotations in the response * @param replySample Amount of replies to load * @param sortField Field to sort comments by * @param sortDirection Sort direction for comments * @param accept The Accept header value, either "application/json" (comments response as json) * or "application/mediacomposer+xml" (comments response as media composer xml as download) * or "application/fcp+xml" (comments response as fcp xml as download => i.e. for Adobe Premiere Pro) * or "text/edl" (comments response as edl as download => i.e. for Davinci Resolve) * @returns A list of Comments */ listComments(orgName: string, spaceName: string, namespaceName: string, refId: string, limit?: number, page?: number, annotation?: boolean, replySample?: number, sortField?: CommentSortField, sortDirection?: CommentSortDirection, accept?: A, raw?: { raw: R; }): Promise>; /** * Edit a Comment * @remarks * ** Under development, breaking changes possible** * @param orgName Name of the Organization * @param spaceName Name of the Space * @param namespaceName Name of the Namespace * @param commentId ID of the Comment to edit * @param editComment Content of the Comment to edit * @param annotation Whether to include annotations in the response * * @returns The edited Comment */ editComment(orgName: string, spaceName: string, namespaceName: string, commentId: string, editComment: EditComment, annotation?: boolean, raw?: { raw: R; }): Promise>; /** * Get a single Comment by ID * @remarks * ** Under development, breaking changes possible** * @param orgName Name of the Organization * @param spaceName Name of the Space * @param namespaceName Name of the Namespace * @param commentId ID of the Comment to edit * @param annotation Whether to include annotations in the response * * @returns The requested Comment */ getComment(orgName: string, spaceName: string, namespaceName: string, commentId: string, annotation?: boolean, raw?: { raw: R; }): Promise>; /** * Delete Comments by ID * @remarks * ** Under development, breaking changes possible** * @param orgName Name of the Organization * @param spaceName Name of the Space * @param namespaceName Name of the Namespace * @param commentIds IDs of the Comments to delete * * @returns 204 No Content on success */ deleteComment(orgName: string, spaceName: string, namespaceName: string, commentIds: string[], raw?: { raw: R; }): Promise>; }