import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiReposPullsRequestedReviewers } from "../../../../structures/IApiReposPullsRequestedReviewers";
import { pull_minus_request_minus_review_minus_request } from "../../../../structures/pull_minus_request_minus_review_minus_request";
import { pull_minus_request_minus_simple } from "../../../../structures/pull_minus_request_minus_simple";
import { body } from "../../../../structures/body";
/**
 * Get all requested reviewers for a pull request.
 * Gets the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation.
 *
 * @tag pulls
 * @path repos/:owner/:repo/pulls/:pull_number/requested_reviewers
 * @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 = IApiReposPullsRequestedReviewers.GetHeader;
    type Output = pull_minus_request_minus_review_minus_request;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers";
        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_minus_request;
    const simulate: (connection: IConnection<getByOwnerAndRepoAndPull_number.Headers>, owner: string, repo: string, pull_number: string) => Output;
}
/**
 * Request reviewers for a pull request.
 * Requests reviews for a pull request from a given set of users and/or teams.
 * 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)."
 *
 * @tag pulls
 * @path repos/:owner/:repo/pulls/:pull_number/requested_reviewers
 * @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 = IApiReposPullsRequestedReviewers.PostHeader;
    type Input = any | any;
    type Output = pull_minus_request_minus_simple;
    const METADATA: {
        readonly method: "POST";
        readonly path: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers";
        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_simple;
    const simulate: (connection: IConnection<postByOwnerAndRepoAndPull_number.Headers>, owner: string, repo: string, pull_number: string, body: postByOwnerAndRepoAndPull_number.Input) => Output;
}
/**
 * Remove requested reviewers from a pull request.
 * Removes review requests from a pull request for a given set of users and/or teams.
 *
 * @tag pulls
 * @path repos/:owner/:repo/pulls/:pull_number/requested_reviewers
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function eraseByOwnerAndRepoAndPull_number(connection: IConnection<eraseByOwnerAndRepoAndPull_number.Headers>, owner: string, repo: string, pull_number: string, body: eraseByOwnerAndRepoAndPull_number.Input): Promise<eraseByOwnerAndRepoAndPull_number.Output>;
export declare namespace eraseByOwnerAndRepoAndPull_number {
    type Headers = IApiReposPullsRequestedReviewers.DeleteHeader;
    type Input = body;
    type Output = pull_minus_request_minus_simple;
    const METADATA: {
        readonly method: "DELETE";
        readonly path: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers";
        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_simple;
    const simulate: (connection: IConnection<eraseByOwnerAndRepoAndPull_number.Headers>, owner: string, repo: string, pull_number: string, body: eraseByOwnerAndRepoAndPull_number.Input) => Output;
}
