import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiUsers } from "../../structures/IApiUsers";
import { simple_minus_user } from "../../structures/simple_minus_user";
import { private_minus_user } from "../../structures/private_minus_user";
import { public_minus_user } from "../../structures/public_minus_user";
export * as attestations from "./attestations";
export * as docker from "./docker";
export * as events from "./events";
export * as followers from "./followers";
export * as following from "./following";
export * as gists from "./gists";
export * as gpg_keys from "./gpg_keys";
export * as hovercard from "./hovercard";
export * as installation from "./installation";
export * as keys from "./keys";
export * as orgs from "./orgs";
export * as packages from "./packages";
export * as projects from "./projects";
export * as received_events from "./received_events";
export * as repos from "./repos";
export * as settings from "./settings";
export * as social_accounts from "./social_accounts";
export * as ssh_signing_keys from "./ssh_signing_keys";
export * as starred from "./starred";
export * as subscriptions from "./subscriptions";
/**
 * List users.
 * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts.
 *
 * Note: Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers) to get the URL for the next page of users.
 *
 * @tag users
 * @path users
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function get(connection: IConnection<get.Headers>): Promise<get.Output>;
export declare namespace get {
    type Headers = IApiUsers.GetHeader;
    type Output = simple_minus_user[];
    const METADATA: {
        readonly method: "GET";
        readonly path: "/users";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: () => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => simple_minus_user[];
    const simulate: (connection: IConnection<get.Headers>) => Output;
}
/**
 * Get a user.
 * Provides publicly available information about someone with a GitHub account.
 *
 * The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/guides/getting-started-with-the-rest-api#authentication).
 *
 * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/users/emails)".
 *
 * @tag users
 * @path users/:username
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByUsername(connection: IConnection<getByUsername.Headers>, username: string): Promise<getByUsername.Output>;
export declare namespace getByUsername {
    type Headers = IApiUsers.GetHeader;
    type Output = private_minus_user | public_minus_user;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/users/:username";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (username: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => private_minus_user | public_minus_user;
    const simulate: (connection: IConnection<getByUsername.Headers>, username: string) => Output;
}
