import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiReposPullsComments } from "../../../../structures/IApiReposPullsComments";
import { pull_minus_request_minus_review_minus_comment } from "../../../../structures/pull_minus_request_minus_review_minus_comment";
import { body } from "../../../../structures/body";
export * as reactions from "./reactions";
export * as replies from "./replies";
/**
 * List review comments in a repository.
 * Lists review comments for all pull requests in a repository. By default,
 * review comments are in ascending order by ID.
 *
 * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)."
 *
 * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type.
 * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`.
 * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`.
 * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
 *
 * @tag pulls
 * @path repos/:owner/:repo/pulls/comments
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOwnerAndRepo(connection: IConnection<getByOwnerAndRepo.Headers>, owner: string, repo: string, query: getByOwnerAndRepo.Query): Promise<getByOwnerAndRepo.Output>;
export declare namespace getByOwnerAndRepo {
    type Headers = IApiReposPullsComments.GetHeader;
    type Query = IApiReposPullsComments.GetQuery;
    type Output = pull_minus_request_minus_review_minus_comment[];
    const METADATA: {
        readonly method: "GET";
        readonly path: "/repos/:owner/:repo/pulls/comments";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, query: getByOwnerAndRepo.Query) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => pull_minus_request_minus_review_minus_comment[];
    const simulate: (connection: IConnection<getByOwnerAndRepo.Headers>, owner: string, repo: string, query: getByOwnerAndRepo.Query) => Output;
}
/**
 * Get a review comment for a pull request.
 * Provides details for a specified review comment.
 *
 * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)."
 *
 * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type.
 * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`.
 * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`.
 * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
 *
 * @tag pulls
 * @path repos/:owner/:repo/pulls/comments/:comment_id
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOwnerAndRepoAndComment_id(connection: IConnection<getByOwnerAndRepoAndComment_id.Headers>, owner: string, repo: string, comment_id: string): Promise<getByOwnerAndRepoAndComment_id.Output>;
export declare namespace getByOwnerAndRepoAndComment_id {
    type Headers = IApiReposPullsComments.GetHeader;
    type Output = pull_minus_request_minus_review_minus_comment;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/repos/:owner/:repo/pulls/comments/:comment_id";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, comment_id: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => pull_minus_request_minus_review_minus_comment;
    const simulate: (connection: IConnection<getByOwnerAndRepoAndComment_id.Headers>, owner: string, repo: string, comment_id: string) => Output;
}
/**
 * Update a review comment for a pull request.
 * Edits the content of a specified review comment.
 *
 * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)."
 *
 * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type.
 * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`.
 * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`.
 * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
 *
 * @tag pulls
 * @path repos/:owner/:repo/pulls/comments/:comment_id
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function patchByOwnerAndRepoAndComment_id(connection: IConnection<patchByOwnerAndRepoAndComment_id.Headers>, owner: string, repo: string, comment_id: string, body: patchByOwnerAndRepoAndComment_id.Input): Promise<patchByOwnerAndRepoAndComment_id.Output>;
export declare namespace patchByOwnerAndRepoAndComment_id {
    type Headers = IApiReposPullsComments.PatchHeader;
    type Input = body;
    type Output = pull_minus_request_minus_review_minus_comment;
    const METADATA: {
        readonly method: "PATCH";
        readonly path: "/repos/:owner/:repo/pulls/comments/:comment_id";
        readonly request: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, comment_id: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => pull_minus_request_minus_review_minus_comment;
    const simulate: (connection: IConnection<patchByOwnerAndRepoAndComment_id.Headers>, owner: string, repo: string, comment_id: string, body: patchByOwnerAndRepoAndComment_id.Input) => Output;
}
/**
 * Delete a review comment for a pull request.
 * Deletes a review comment.
 *
 * @tag pulls
 * @path repos/:owner/:repo/pulls/comments/:comment_id
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function eraseByOwnerAndRepoAndComment_id(connection: IConnection<eraseByOwnerAndRepoAndComment_id.Headers>, owner: string, repo: string, comment_id: string): Promise<void>;
export declare namespace eraseByOwnerAndRepoAndComment_id {
    type Headers = IApiReposPullsComments.DeleteHeader;
    const METADATA: {
        readonly method: "DELETE";
        readonly path: "/repos/:owner/:repo/pulls/comments/:comment_id";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, comment_id: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<eraseByOwnerAndRepoAndComment_id.Headers>, owner: string, repo: string, comment_id: string) => void;
}
/**
 * List review comments on a pull request.
 * Lists all review comments for a specified pull request. By default, review comments
 * are in ascending order by ID.
 *
 * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)."
 *
 * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type.
 * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`.
 * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`.
 * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
 *
 * @tag pulls
 * @path repos/:owner/:repo/pulls/:pull_number/comments
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOwnerAndRepoAndPull_number(connection: IConnection<getByOwnerAndRepoAndPull_number.Headers>, owner: string, repo: string, pull_number: string, query: getByOwnerAndRepoAndPull_number.Query): Promise<getByOwnerAndRepoAndPull_number.Output>;
export declare namespace getByOwnerAndRepoAndPull_number {
    type Headers = IApiReposPullsComments.GetHeader;
    type Query = IApiReposPullsComments.GetQuery;
    type Output = pull_minus_request_minus_review_minus_comment[];
    const METADATA: {
        readonly method: "GET";
        readonly path: "/repos/:owner/:repo/pulls/:pull_number/comments";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, pull_number: string, query: getByOwnerAndRepoAndPull_number.Query) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => pull_minus_request_minus_review_minus_comment[];
    const simulate: (connection: IConnection<getByOwnerAndRepoAndPull_number.Headers>, owner: string, repo: string, pull_number: string, query: getByOwnerAndRepoAndPull_number.Query) => Output;
}
/**
 * Create a review comment for a pull request.
 * Creates a review comment on the diff of a specified pull request. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)."
 *
 * If your comment applies to more than one line in the pull request diff, you should use the parameters `line`, `side`, and optionally `start_line` and `start_side` in your request.
 *
 * The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required.
 *
 * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. For more information, see "[Rate limits for the API](https://docs.github.com/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)"
 * and "[Best practices for using the REST API](https://docs.github.com/rest/guides/best-practices-for-using-the-rest-api)."
 *
 * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)."
 *
 * - **`application/vnd.github-commitcomment.raw+json`**: Returns the raw markdown body. Response will include `body`. This is the default if you do not pass any specific media type.
 * - **`application/vnd.github-commitcomment.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`.
 * - **`application/vnd.github-commitcomment.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`.
 * - **`application/vnd.github-commitcomment.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
 *
 * @tag pulls
 * @path repos/:owner/:repo/pulls/:pull_number/comments
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function postByOwnerAndRepoAndPull_number(connection: IConnection<postByOwnerAndRepoAndPull_number.Headers>, owner: string, repo: string, pull_number: string, body: postByOwnerAndRepoAndPull_number.Input): Promise<postByOwnerAndRepoAndPull_number.Output>;
export declare namespace postByOwnerAndRepoAndPull_number {
    type Headers = IApiReposPullsComments.PostHeader;
    type Input = body;
    type Output = pull_minus_request_minus_review_minus_comment;
    const METADATA: {
        readonly method: "POST";
        readonly path: "/repos/:owner/:repo/pulls/:pull_number/comments";
        readonly request: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, pull_number: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => pull_minus_request_minus_review_minus_comment;
    const simulate: (connection: IConnection<postByOwnerAndRepoAndPull_number.Headers>, owner: string, repo: string, pull_number: string, body: postByOwnerAndRepoAndPull_number.Input) => Output;
}
