import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiUserStarred } from "../../../structures/IApiUserStarred";
import { repository } from "../../../structures/repository";
/**
 * List repositories starred by the authenticated user.
 * Lists repositories the authenticated user has starred.
 *
 * This endpoint supports the following custom media types. For more information, see "[Media types](https://docs.github.com/rest/using-the-rest-api/getting-started-with-the-rest-api#media-types)."
 *
 * - **`application/vnd.github.star+json`**: Includes a timestamp of when the star was created.
 *
 * @tag activity
 * @path user/starred
 * @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 = IApiUserStarred.GetHeader;
    type Output = repository[];
    const METADATA: {
        readonly method: "GET";
        readonly path: "/user/starred";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: () => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => repository[];
    const simulate: (connection: IConnection<get.Headers>) => Output;
}
/**
 * Check if a repository is starred by the authenticated user.
 * Whether the authenticated user has starred the repository.
 *
 * @tag activity
 * @path user/starred/:owner/:repo
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOwnerAndRepo(connection: IConnection<getByOwnerAndRepo.Headers>, owner: string, repo: string): Promise<void>;
export declare namespace getByOwnerAndRepo {
    type Headers = IApiUserStarred.GetHeader;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/user/starred/:owner/:repo";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<getByOwnerAndRepo.Headers>, owner: string, repo: string) => void;
}
/**
 * Star a repository for the authenticated user.
 * 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 activity
 * @path user/starred/:owner/:repo
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function putByOwnerAndRepo(connection: IConnection<putByOwnerAndRepo.Headers>, owner: string, repo: string): Promise<void>;
export declare namespace putByOwnerAndRepo {
    type Headers = IApiUserStarred.PutHeader;
    const METADATA: {
        readonly method: "PUT";
        readonly path: "/user/starred/:owner/:repo";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<putByOwnerAndRepo.Headers>, owner: string, repo: string) => void;
}
/**
 * Unstar a repository for the authenticated user.
 * Unstar a repository that the authenticated user has previously starred.
 *
 * @tag activity
 * @path user/starred/:owner/:repo
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function eraseByOwnerAndRepo(connection: IConnection<eraseByOwnerAndRepo.Headers>, owner: string, repo: string): Promise<void>;
export declare namespace eraseByOwnerAndRepo {
    type Headers = IApiUserStarred.DeleteHeader;
    const METADATA: {
        readonly method: "DELETE";
        readonly path: "/user/starred/:owner/:repo";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<eraseByOwnerAndRepo.Headers>, owner: string, repo: string) => void;
}
