import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiTeamsMembers } from "../../../structures/IApiTeamsMembers";
import { simple_minus_user } from "../../../structures/simple_minus_user";
/**
 * List team members (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 members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint.
 *
 * Team members will include the members of child teams.
 *
 * @tag teams
 * @deprecated
 * @path teams/:team_id/members
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByTeam_id(connection: IConnection<getByTeam_id.Headers>, team_id: string, query: getByTeam_id.Query): Promise<getByTeam_id.Output>;
export declare namespace getByTeam_id {
    type Headers = IApiTeamsMembers.GetHeader;
    type Query = IApiTeamsMembers.GetQuery;
    type Output = simple_minus_user[];
    const METADATA: {
        readonly method: "GET";
        readonly path: "/teams/:team_id/members";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (team_id: string, query: getByTeam_id.Query) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => simple_minus_user[];
    const simulate: (connection: IConnection<getByTeam_id.Headers>, team_id: string, query: getByTeam_id.Query) => Output;
}
/**
 * Get team member (Legacy).
 * The "Get team member" endpoint (described below) is deprecated.
 *
 * We recommend using the [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships.
 *
 * To list members in a team, the team must be visible to the authenticated user.
 *
 * @tag teams
 * @deprecated
 * @path teams/:team_id/members/:username
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByTeam_idAndUsername(connection: IConnection<getByTeam_idAndUsername.Headers>, team_id: string, username: string): Promise<void>;
export declare namespace getByTeam_idAndUsername {
    type Headers = IApiTeamsMembers.GetHeader;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/teams/:team_id/members/:username";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (team_id: string, username: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<getByTeam_idAndUsername.Headers>, team_id: string, username: string) => void;
}
/**
 * Add team member (Legacy).
 * The "Add team member" endpoint (described below) is deprecated.
 *
 * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams.
 *
 * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
 *
 * To add someone to a team, the authenticated user must be an organization owner or a team maintainer in the team they're changing. The person being added to the team must be a member of the team's organization.
 *
 * > [!NOTE]
 * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)."
 *
 * Note that 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/members/:username
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function putByTeam_idAndUsername(connection: IConnection<putByTeam_idAndUsername.Headers>, team_id: string, username: string): Promise<void>;
export declare namespace putByTeam_idAndUsername {
    type Headers = IApiTeamsMembers.PutHeader;
    const METADATA: {
        readonly method: "PUT";
        readonly path: "/teams/:team_id/members/:username";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (team_id: string, username: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<putByTeam_idAndUsername.Headers>, team_id: string, username: string) => void;
}
/**
 * Remove team member (Legacy).
 * The "Remove team member" endpoint (described below) is deprecated.
 *
 * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships.
 *
 * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
 *
 * To remove a team member, the authenticated user must have 'admin' permissions to the team or be an owner of the org that the team is associated with. Removing a team member does not delete the user, it just removes them from the team.
 *
 * > [!NOTE]
 * > When you have team synchronization set up for a team with your organization's identity provider (IdP), you will see an error if you attempt to use the API for making changes to the team's membership. If you have access to manage group membership in your IdP, you can manage GitHub team membership through your identity provider, which automatically adds and removes team members in an organization. For more information, see "[Synchronizing teams between your identity provider and GitHub](https://docs.github.com/articles/synchronizing-teams-between-your-identity-provider-and-github/)."
 *
 * @tag teams
 * @deprecated
 * @path teams/:team_id/members/:username
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function eraseByTeam_idAndUsername(connection: IConnection<eraseByTeam_idAndUsername.Headers>, team_id: string, username: string): Promise<void>;
export declare namespace eraseByTeam_idAndUsername {
    type Headers = IApiTeamsMembers.DeleteHeader;
    const METADATA: {
        readonly method: "DELETE";
        readonly path: "/teams/:team_id/members/:username";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (team_id: string, username: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<eraseByTeam_idAndUsername.Headers>, team_id: string, username: string) => void;
}
