import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiReposIssuesComments } from "../../../../structures/IApiReposIssuesComments";
import { issue_minus_comment } from "../../../../structures/issue_minus_comment";
import { body } from "../../../../structures/body";
export * as reactions from "./reactions";
/**
 * List issue comments for a repository.
 * You can use the REST API to list comments on issues and pull requests for a repository. Every pull request is an issue, but not every issue is a pull request.
 *
 * By default, issue comments are ordered by ascending 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.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.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`.
 * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`.
 * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
 *
 * @tag issues
 * @path repos/:owner/:repo/issues/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 = IApiReposIssuesComments.GetHeader;
    type Query = IApiReposIssuesComments.GetQuery;
    type Output = issue_minus_comment[];
    const METADATA: {
        readonly method: "GET";
        readonly path: "/repos/:owner/:repo/issues/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>) => issue_minus_comment[];
    const simulate: (connection: IConnection<getByOwnerAndRepo.Headers>, owner: string, repo: string, query: getByOwnerAndRepo.Query) => Output;
}
/**
 * Get an issue comment.
 * You can use the REST API to get comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request.
 *
 * 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.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.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`.
 * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`.
 * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
 *
 * @tag issues
 * @path repos/:owner/:repo/issues/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 = IApiReposIssuesComments.GetHeader;
    type Output = issue_minus_comment;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/repos/:owner/:repo/issues/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>) => issue_minus_comment;
    const simulate: (connection: IConnection<getByOwnerAndRepoAndComment_id.Headers>, owner: string, repo: string, comment_id: string) => Output;
}
/**
 * Update an issue comment.
 * You can use the REST API to update comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request.
 *
 * 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.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.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`.
 * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`.
 * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
 *
 * @tag issues
 * @path repos/:owner/:repo/issues/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 = IApiReposIssuesComments.PatchHeader;
    type Input = body;
    type Output = issue_minus_comment;
    const METADATA: {
        readonly method: "PATCH";
        readonly path: "/repos/:owner/:repo/issues/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>) => issue_minus_comment;
    const simulate: (connection: IConnection<patchByOwnerAndRepoAndComment_id.Headers>, owner: string, repo: string, comment_id: string, body: patchByOwnerAndRepoAndComment_id.Input) => Output;
}
/**
 * Delete an issue comment.
 * You can use the REST API to delete comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request.
 *
 * @tag issues
 * @path repos/:owner/:repo/issues/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 = IApiReposIssuesComments.DeleteHeader;
    const METADATA: {
        readonly method: "DELETE";
        readonly path: "/repos/:owner/:repo/issues/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 issue comments.
 * You can use the REST API to list comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request.
 *
 * Issue comments are ordered by ascending 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.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.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`.
 * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`.
 * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
 *
 * @tag issues
 * @path repos/:owner/:repo/issues/:issue_number/comments
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOwnerAndRepoAndIssue_number(connection: IConnection<getByOwnerAndRepoAndIssue_number.Headers>, owner: string, repo: string, issue_number: string): Promise<getByOwnerAndRepoAndIssue_number.Output>;
export declare namespace getByOwnerAndRepoAndIssue_number {
    type Headers = IApiReposIssuesComments.GetHeader;
    type Output = issue_minus_comment[];
    const METADATA: {
        readonly method: "GET";
        readonly path: "/repos/:owner/:repo/issues/:issue_number/comments";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, issue_number: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => issue_minus_comment[];
    const simulate: (connection: IConnection<getByOwnerAndRepoAndIssue_number.Headers>, owner: string, repo: string, issue_number: string) => Output;
}
/**
 * Create an issue comment.
 * You can use the REST API to create comments on issues and pull requests. Every pull request is an issue, but not every issue is a pull request.
 *
 * 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.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.text+json`**: Returns a text only representation of the markdown body. Response will include `body_text`.
 * - **`application/vnd.github.html+json`**: Returns HTML rendered from the body's markdown. Response will include `body_html`.
 * - **`application/vnd.github.full+json`**: Returns raw, text, and HTML representations. Response will include `body`, `body_text`, and `body_html`.
 *
 * @tag issues
 * @path repos/:owner/:repo/issues/:issue_number/comments
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function postByOwnerAndRepoAndIssue_number(connection: IConnection<postByOwnerAndRepoAndIssue_number.Headers>, owner: string, repo: string, issue_number: string, body: postByOwnerAndRepoAndIssue_number.Input): Promise<postByOwnerAndRepoAndIssue_number.Output>;
export declare namespace postByOwnerAndRepoAndIssue_number {
    type Headers = IApiReposIssuesComments.PostHeader;
    type Input = body;
    type Output = issue_minus_comment;
    const METADATA: {
        readonly method: "POST";
        readonly path: "/repos/:owner/:repo/issues/:issue_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, issue_number: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => issue_minus_comment;
    const simulate: (connection: IConnection<postByOwnerAndRepoAndIssue_number.Headers>, owner: string, repo: string, issue_number: string, body: postByOwnerAndRepoAndIssue_number.Input) => Output;
}
