/**
 * ProjectManager API for TypeScript
 *
 * (c) ProjectManager.com, Inc.
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 *
 * @author     ProjectManager.com <support@projectmanager.com>
 * @copyright  ProjectManager.com, Inc.
 * @link       https://github.com/projectmgr/projectmanager-sdk-typescript
 */
import { ProjectManagerClient } from "../index.js";
import { AstroResult } from "../index.js";
import { DiscussionCommentDto } from "../index.js";
import { DiscussionCommentCreateResponseDto } from "../index.js";
import { DiscussionCommentCreateDto } from "../index.js";
export declare class NptDiscussionClient {
    private readonly client;
    /**
     * Internal constructor for this client library
     */
    constructor(client: ProjectManagerClient);
    /**
     * Retrieve all comments written about a Npt
     *
     * @param nptId The unique ID number of the Npt to retrieve comments
     */
    retrieveNptComments(nptId: string): Promise<AstroResult<DiscussionCommentDto[]>>;
    /**
     * Adds a Markdown-formatted comment to a Npt.
     *
     * Npts can have discussions attached to them.  These discussions can include text with simple
     * formatting.  Discussion comments are formatted using [Markdown](https://www.markdownguide.org/)
     * and users should be aware that HTML embedding is not permitted due to the risk of cross-site
     * attacks and other embedding challenges.
     *
     * @param nptId The unique ID number of the Npt being commented upon
     * @param body The Markdown-formatted text of the comment
     */
    createNptComments(nptId: string, body: DiscussionCommentCreateDto): Promise<AstroResult<DiscussionCommentCreateResponseDto>>;
    /**
     * Puts a thumbsup on a comment
     *
     * @param commentId the id of the comment
     */
    likeacomment(commentId: string): Promise<AstroResult<object>>;
    /**
     * Unlike a comment that was previously liked
     *
     * @param commentId the id of the comment
     */
    removesathumbsupfromacomment(commentId: string): Promise<AstroResult<object>>;
    /**
     * Removes a comment by it's id
     *
     * @param commentId Remove a comment
     */
    removeacomment(commentId: string): Promise<AstroResult<object>>;
}
