import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiOrgsMembers } from "../../../structures/IApiOrgsMembers";
import { simple_minus_user } from "../../../structures/simple_minus_user";
export * as codespaces from "./codespaces";
export * as copilot from "./copilot";
/**
 * List organization members.
 * List all users who are members of an organization. If the authenticated user is also a member of this organization then both concealed and public members will be returned.
 *
 * @tag orgs
 * @path orgs/:org/members
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOrg(connection: IConnection<getByOrg.Headers>, org: string, query: getByOrg.Query): Promise<getByOrg.Output>;
export declare namespace getByOrg {
    type Headers = IApiOrgsMembers.GetHeader;
    type Query = IApiOrgsMembers.GetQuery;
    type Output = simple_minus_user[];
    const METADATA: {
        readonly method: "GET";
        readonly path: "/orgs/:org/members";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string, query: getByOrg.Query) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => simple_minus_user[];
    const simulate: (connection: IConnection<getByOrg.Headers>, org: string, query: getByOrg.Query) => Output;
}
/**
 * Check organization membership for a user.
 * Check if a user is, publicly or privately, a member of the organization.
 *
 * @tag orgs
 * @path orgs/:org/members/:username
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOrgAndUsername(connection: IConnection<getByOrgAndUsername.Headers>, org: string, username: string): Promise<void>;
export declare namespace getByOrgAndUsername {
    type Headers = IApiOrgsMembers.GetHeader;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/orgs/:org/members/:username";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string, username: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<getByOrgAndUsername.Headers>, org: string, username: string) => void;
}
/**
 * Remove an organization member.
 * Removing a user from this list will remove them from all teams and they will no longer have any access to the organization's repositories.
 *
 * @tag orgs
 * @path orgs/:org/members/:username
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function eraseByOrgAndUsername(connection: IConnection<eraseByOrgAndUsername.Headers>, org: string, username: string): Promise<void>;
export declare namespace eraseByOrgAndUsername {
    type Headers = IApiOrgsMembers.DeleteHeader;
    const METADATA: {
        readonly method: "DELETE";
        readonly path: "/orgs/:org/members/:username";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string, username: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<eraseByOrgAndUsername.Headers>, org: string, username: string) => void;
}
