import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiReposIssuesAssignees } from "../../../../structures/IApiReposIssuesAssignees";
import { body } from "../../../../structures/body";
import { issue } from "../../../../structures/issue";
/**
 * Add assignees to an issue.
 * Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced.
 *
 * @tag issues
 * @path repos/:owner/:repo/issues/:issue_number/assignees
 * @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 = IApiReposIssuesAssignees.PostHeader;
    type Input = body;
    type Output = issue;
    const METADATA: {
        readonly method: "POST";
        readonly path: "/repos/:owner/:repo/issues/:issue_number/assignees";
        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;
    const simulate: (connection: IConnection<postByOwnerAndRepoAndIssue_number.Headers>, owner: string, repo: string, issue_number: string, body: postByOwnerAndRepoAndIssue_number.Input) => Output;
}
/**
 * Remove assignees from an issue.
 * Removes one or more assignees from an issue.
 *
 * @tag issues
 * @path repos/:owner/:repo/issues/:issue_number/assignees
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function eraseByOwnerAndRepoAndIssue_number(connection: IConnection<eraseByOwnerAndRepoAndIssue_number.Headers>, owner: string, repo: string, issue_number: string, body: eraseByOwnerAndRepoAndIssue_number.Input): Promise<eraseByOwnerAndRepoAndIssue_number.Output>;
export declare namespace eraseByOwnerAndRepoAndIssue_number {
    type Headers = IApiReposIssuesAssignees.DeleteHeader;
    type Input = body;
    type Output = issue;
    const METADATA: {
        readonly method: "DELETE";
        readonly path: "/repos/:owner/:repo/issues/:issue_number/assignees";
        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;
    const simulate: (connection: IConnection<eraseByOwnerAndRepoAndIssue_number.Headers>, owner: string, repo: string, issue_number: string, body: eraseByOwnerAndRepoAndIssue_number.Input) => Output;
}
/**
 * Check if a user can be assigned to a issue.
 * Checks if a user has permission to be assigned to a specific issue.
 *
 * If the `assignee` can be assigned to this issue, a `204` status code with no content is returned.
 *
 * Otherwise a `404` status code is returned.
 *
 * @tag issues
 * @path repos/:owner/:repo/issues/:issue_number/assignees/:assignee
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOwnerAndRepoAndIssue_numberAndAssignee(connection: IConnection<getByOwnerAndRepoAndIssue_numberAndAssignee.Headers>, owner: string, repo: string, issue_number: string, assignee: string): Promise<void>;
export declare namespace getByOwnerAndRepoAndIssue_numberAndAssignee {
    type Headers = IApiReposIssuesAssignees.GetHeader;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/repos/:owner/:repo/issues/:issue_number/assignees/:assignee";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, issue_number: string, assignee: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<getByOwnerAndRepoAndIssue_numberAndAssignee.Headers>, owner: string, repo: string, issue_number: string, assignee: string) => void;
}
