import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiTeamsRepos } from "../../../structures/IApiTeamsRepos";
import { minimal_minus_repository } from "../../../structures/minimal_minus_repository";
import { team_minus_repository } from "../../../structures/team_minus_repository";
import { body } from "../../../structures/body";
/**
 * List team repositories (Legacy).
 * > [!WARNING]
 * > **Deprecation notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint.
 *
 * @tag teams
 * @deprecated
 * @path teams/:team_id/repos
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByTeam_id(connection: IConnection<getByTeam_id.Headers>, team_id: string): Promise<getByTeam_id.Output>;
export declare namespace getByTeam_id {
    type Headers = IApiTeamsRepos.GetHeader;
    type Output = minimal_minus_repository[];
    const METADATA: {
        readonly method: "GET";
        readonly path: "/teams/:team_id/repos";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (team_id: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => minimal_minus_repository[];
    const simulate: (connection: IConnection<getByTeam_id.Headers>, team_id: string) => Output;
}
/**
 * Check team permissions for a repository (Legacy).
 * > [!WARNING]
 * > **Deprecation notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint.
 *
 * > [!NOTE]
 * > Repositories inherited through a parent team will also be checked.
 *
 * You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types/) via the `Accept` header:
 *
 * @tag teams
 * @deprecated
 * @path teams/:team_id/repos/:owner/:repo
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByTeam_idAndOwnerAndRepo(connection: IConnection<getByTeam_idAndOwnerAndRepo.Headers>, team_id: string, owner: string, repo: string): Promise<getByTeam_idAndOwnerAndRepo.Output>;
export declare namespace getByTeam_idAndOwnerAndRepo {
    type Headers = IApiTeamsRepos.GetHeader;
    type Output = team_minus_repository;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/teams/:team_id/repos/:owner/:repo";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (team_id: string, owner: string, repo: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => team_minus_repository;
    const simulate: (connection: IConnection<getByTeam_idAndOwnerAndRepo.Headers>, team_id: string, owner: string, repo: string) => Output;
}
/**
 * Add or update team repository permissions (Legacy).
 * > [!WARNING]
 * > **Deprecation notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions)" endpoint.
 *
 * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization.
 *
 * Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP method](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#http-method)."
 *
 * @tag teams
 * @deprecated
 * @path teams/:team_id/repos/:owner/:repo
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function putByTeam_idAndOwnerAndRepo(connection: IConnection<putByTeam_idAndOwnerAndRepo.Headers>, team_id: string, owner: string, repo: string, body: putByTeam_idAndOwnerAndRepo.Input): Promise<void>;
export declare namespace putByTeam_idAndOwnerAndRepo {
    type Headers = IApiTeamsRepos.PutHeader;
    type Input = body;
    const METADATA: {
        readonly method: "PUT";
        readonly path: "/teams/:team_id/repos/:owner/:repo";
        readonly request: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (team_id: string, owner: string, repo: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<putByTeam_idAndOwnerAndRepo.Headers>, team_id: string, owner: string, repo: string, body: putByTeam_idAndOwnerAndRepo.Input) => void;
}
/**
 * Remove a repository from a team (Legacy).
 * > [!WARNING]
 * > **Deprecation notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team) endpoint.
 *
 * If the authenticated user is an organization owner or a team maintainer, they can remove any repositories from the team. To remove a repository from a team as an organization member, the authenticated user must have admin access to the repository and must be able to see the team. NOTE: This does not delete the repository, it just removes it from the team.
 *
 * @tag teams
 * @deprecated
 * @path teams/:team_id/repos/:owner/:repo
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function eraseByTeam_idAndOwnerAndRepo(connection: IConnection<eraseByTeam_idAndOwnerAndRepo.Headers>, team_id: string, owner: string, repo: string): Promise<void>;
export declare namespace eraseByTeam_idAndOwnerAndRepo {
    type Headers = IApiTeamsRepos.DeleteHeader;
    const METADATA: {
        readonly method: "DELETE";
        readonly path: "/teams/:team_id/repos/:owner/:repo";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (team_id: string, owner: string, repo: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<eraseByTeam_idAndOwnerAndRepo.Headers>, team_id: string, owner: string, repo: string) => void;
}
