import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiRepos } from "../../structures/IApiRepos";
import { full_minus_repository } from "../../structures/full_minus_repository";
import { body } from "../../structures/body";
export * as actions from "./actions";
export * as activity from "./activity";
export * as assignees from "./assignees";
export * as attestations from "./attestations";
export * as autolinks from "./autolinks";
export * as automated_security_fixes from "./automated_security_fixes";
export * as branches from "./branches";
export * as check_runs from "./check_runs";
export * as check_suites from "./check_suites";
export * as code_scanning from "./code_scanning";
export * as code_security_configuration from "./code_security_configuration";
export * as codeowners from "./codeowners";
export * as codespaces from "./codespaces";
export * as collaborators from "./collaborators";
export * as comments from "./comments";
export * as commits from "./commits";
export * as community from "./community";
export * as compare from "./compare";
export * as contents from "./contents";
export * as contributors from "./contributors";
export * as dependabot from "./dependabot";
export * as dependency_graph from "./dependency_graph";
export * as deployments from "./deployments";
export * as dispatches from "./dispatches";
export * as environments from "./environments";
export * as events from "./events";
export * as forks from "./forks";
export * as git from "./git";
export * as hooks from "./hooks";
export * as _import from "./_import";
export * as installation from "./installation";
export * as interaction_limits from "./interaction_limits";
export * as invitations from "./invitations";
export * as issues from "./issues";
export * as keys from "./keys";
export * as labels from "./labels";
export * as languages from "./languages";
export * as license from "./license";
export * as merge_upstream from "./merge_upstream";
export * as merges from "./merges";
export * as milestones from "./milestones";
export * as notifications from "./notifications";
export * as pages from "./pages";
export * as private_vulnerability_reporting from "./private_vulnerability_reporting";
export * as projects from "./projects";
export * as properties from "./properties";
export * as pulls from "./pulls";
export * as readme from "./readme";
export * as releases from "./releases";
export * as rules from "./rules";
export * as rulesets from "./rulesets";
export * as secret_scanning from "./secret_scanning";
export * as security_advisories from "./security_advisories";
export * as stargazers from "./stargazers";
export * as stats from "./stats";
export * as statuses from "./statuses";
export * as subscribers from "./subscribers";
export * as subscription from "./subscription";
export * as tags from "./tags";
export * as tarball from "./tarball";
export * as teams from "./teams";
export * as topics from "./topics";
export * as traffic from "./traffic";
export * as transfer from "./transfer";
export * as vulnerability_alerts from "./vulnerability_alerts";
export * as zipball from "./zipball";
export * as generate from "./generate";
/**
 * Get a repository.
 * The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network.
 *
 * > [!NOTE]
 * > In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)."
 *
 * @tag repos
 * @path repos/:owner/:repo
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOwnerAndRepo(connection: IConnection<getByOwnerAndRepo.Headers>, owner: string, repo: string): Promise<getByOwnerAndRepo.Output>;
export declare namespace getByOwnerAndRepo {
    type Headers = IApiRepos.GetHeader;
    type Output = full_minus_repository;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/repos/: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>) => full_minus_repository;
    const simulate: (connection: IConnection<getByOwnerAndRepo.Headers>, owner: string, repo: string) => Output;
}
/**
 * Update a repository.
 * **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/repos/repos#replace-all-repository-topics) endpoint.
 *
 * @tag repos
 * @path repos/:owner/:repo
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function patchByOwnerAndRepo(connection: IConnection<patchByOwnerAndRepo.Headers>, owner: string, repo: string, body: patchByOwnerAndRepo.Input): Promise<patchByOwnerAndRepo.Output>;
export declare namespace patchByOwnerAndRepo {
    type Headers = IApiRepos.PatchHeader;
    type Input = body;
    type Output = full_minus_repository;
    const METADATA: {
        readonly method: "PATCH";
        readonly path: "/repos/:owner/:repo";
        readonly request: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => full_minus_repository;
    const simulate: (connection: IConnection<patchByOwnerAndRepo.Headers>, owner: string, repo: string, body: patchByOwnerAndRepo.Input) => Output;
}
/**
 * Delete a repository.
 * Deleting a repository requires admin access.
 *
 * If an organization owner has configured the organization to prevent members from deleting organization-owned
 * repositories, you will get a `403 Forbidden` response.
 *
 * OAuth app tokens and personal access tokens (classic) need the `delete_repo` scope to use this endpoint.
 *
 * @tag repos
 * @path repos/: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 = IApiRepos.DeleteHeader;
    const METADATA: {
        readonly method: "DELETE";
        readonly path: "/repos/: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;
}
