import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiReposPullsReviews } from "../../../../structures/IApiReposPullsReviews";
import { pull_minus_request_minus_review } from "../../../../structures/pull_minus_request_minus_review";
import { body } from "../../../../structures/body";
export * as comments from "./comments";
export * as dismissals from "./dismissals";
export * as events from "./events";
/**
 * List reviews for a pull request.
 * Lists all reviews for a specified pull request. The list of reviews returns in chronological order.
 *
 * 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/reviews
 * @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): Promise<getByOwnerAndRepoAndPull_number.Output>;
export declare namespace getByOwnerAndRepoAndPull_number {
    type Headers = IApiReposPullsReviews.GetHeader;
    type Output = pull_minus_request_minus_review[];
    const METADATA: {
        readonly method: "GET";
        readonly path: "/repos/:owner/:repo/pulls/:pull_number/reviews";
        readonly request: null;
        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[];
    const simulate: (connection: IConnection<getByOwnerAndRepoAndPull_number.Headers>, owner: string, repo: string, pull_number: string) => Output;
}
/**
 * Create a review for a pull request.
 * Creates a review on a specified 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)."
 *
 * Pull request reviews created in the `PENDING` state are not submitted and therefore do not include the `submitted_at` property in the response. To create a pending review for a pull request, leave the `event` parameter blank. For more information about submitting a `PENDING` review, see "[Submit a review for a pull request](https://docs.github.com/rest/pulls/reviews#submit-a-review-for-a-pull-request)."
 *
 * > [!NOTE]
 * > To comment on a specific line in a file, you need to first determine the position of that line in the diff. To see a pull request diff, add the `application/vnd.github.v3.diff` media type to the `Accept` header of a call to the [Get a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) endpoint.
 *
 * The `position` value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.
 *
 * 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/reviews
 * @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 = IApiReposPullsReviews.PostHeader;
    type Input = body;
    type Output = pull_minus_request_minus_review;
    const METADATA: {
        readonly method: "POST";
        readonly path: "/repos/:owner/:repo/pulls/:pull_number/reviews";
        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;
    const simulate: (connection: IConnection<postByOwnerAndRepoAndPull_number.Headers>, owner: string, repo: string, pull_number: string, body: postByOwnerAndRepoAndPull_number.Input) => Output;
}
/**
 * Get a review for a pull request.
 * Retrieves a pull request review by its 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/reviews/:review_id
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOwnerAndRepoAndPull_numberAndReview_id(connection: IConnection<getByOwnerAndRepoAndPull_numberAndReview_id.Headers>, owner: string, repo: string, pull_number: string, review_id: string): Promise<getByOwnerAndRepoAndPull_numberAndReview_id.Output>;
export declare namespace getByOwnerAndRepoAndPull_numberAndReview_id {
    type Headers = IApiReposPullsReviews.GetHeader;
    type Output = pull_minus_request_minus_review;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, pull_number: string, review_id: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => pull_minus_request_minus_review;
    const simulate: (connection: IConnection<getByOwnerAndRepoAndPull_numberAndReview_id.Headers>, owner: string, repo: string, pull_number: string, review_id: string) => Output;
}
/**
 * Update a review for a pull request.
 * Updates the contents of a specified review summary 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/:pull_number/reviews/:review_id
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function putByOwnerAndRepoAndPull_numberAndReview_id(connection: IConnection<putByOwnerAndRepoAndPull_numberAndReview_id.Headers>, owner: string, repo: string, pull_number: string, review_id: string, body: putByOwnerAndRepoAndPull_numberAndReview_id.Input): Promise<putByOwnerAndRepoAndPull_numberAndReview_id.Output>;
export declare namespace putByOwnerAndRepoAndPull_numberAndReview_id {
    type Headers = IApiReposPullsReviews.PutHeader;
    type Input = body;
    type Output = pull_minus_request_minus_review;
    const METADATA: {
        readonly method: "PUT";
        readonly path: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_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, pull_number: string, review_id: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => pull_minus_request_minus_review;
    const simulate: (connection: IConnection<putByOwnerAndRepoAndPull_numberAndReview_id.Headers>, owner: string, repo: string, pull_number: string, review_id: string, body: putByOwnerAndRepoAndPull_numberAndReview_id.Input) => Output;
}
/**
 * Delete a pending review for a pull request.
 * Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted.
 *
 * 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/reviews/:review_id
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function eraseByOwnerAndRepoAndPull_numberAndReview_id(connection: IConnection<eraseByOwnerAndRepoAndPull_numberAndReview_id.Headers>, owner: string, repo: string, pull_number: string, review_id: string): Promise<eraseByOwnerAndRepoAndPull_numberAndReview_id.Output>;
export declare namespace eraseByOwnerAndRepoAndPull_numberAndReview_id {
    type Headers = IApiReposPullsReviews.DeleteHeader;
    type Output = pull_minus_request_minus_review;
    const METADATA: {
        readonly method: "DELETE";
        readonly path: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, pull_number: string, review_id: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => pull_minus_request_minus_review;
    const simulate: (connection: IConnection<eraseByOwnerAndRepoAndPull_numberAndReview_id.Headers>, owner: string, repo: string, pull_number: string, review_id: string) => Output;
}
