import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiReposSecurityAdvisories } from "../../../structures/IApiReposSecurityAdvisories";
import { repository_minus_advisory } from "../../../structures/repository_minus_advisory";
import { repository_minus_advisory_minus_create } from "../../../structures/repository_minus_advisory_minus_create";
import { repository_minus_advisory_minus_update } from "../../../structures/repository_minus_advisory_minus_update";
export * as reports from "./reports";
export * as cve from "./cve";
export * as forks from "./forks";
/**
 * List repository security advisories.
 * Lists security advisories in a repository.
 *
 * The authenticated user can access unpublished security advisories from a repository if they are a security manager or administrator of that repository, or if they are a collaborator on any security advisory.
 *
 * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to.
 *
 * @tag security-advisories
 * @path repos/:owner/:repo/security-advisories
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOwnerAndRepo(connection: IConnection<getByOwnerAndRepo.Headers>, owner: string, repo: string, query: getByOwnerAndRepo.Query): Promise<getByOwnerAndRepo.Output>;
export declare namespace getByOwnerAndRepo {
    type Headers = IApiReposSecurityAdvisories.GetHeader;
    type Query = IApiReposSecurityAdvisories.GetQuery;
    type Output = repository_minus_advisory[];
    const METADATA: {
        readonly method: "GET";
        readonly path: "/repos/:owner/:repo/security-advisories";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, query: getByOwnerAndRepo.Query) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => repository_minus_advisory[];
    const simulate: (connection: IConnection<getByOwnerAndRepo.Headers>, owner: string, repo: string, query: getByOwnerAndRepo.Query) => Output;
}
/**
 * Create a repository security advisory.
 * Creates a new repository security advisory.
 *
 * In order to create a draft repository security advisory, the authenticated user must be a security manager or administrator of that repository.
 *
 * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint.
 *
 * @tag security-advisories
 * @path repos/:owner/:repo/security-advisories
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function postByOwnerAndRepo(connection: IConnection<postByOwnerAndRepo.Headers>, owner: string, repo: string, body: postByOwnerAndRepo.Input): Promise<postByOwnerAndRepo.Output>;
export declare namespace postByOwnerAndRepo {
    type Headers = IApiReposSecurityAdvisories.PostHeader;
    type Input = repository_minus_advisory_minus_create;
    type Output = repository_minus_advisory;
    const METADATA: {
        readonly method: "POST";
        readonly path: "/repos/:owner/:repo/security-advisories";
        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>) => repository_minus_advisory;
    const simulate: (connection: IConnection<postByOwnerAndRepo.Headers>, owner: string, repo: string, body: postByOwnerAndRepo.Input) => Output;
}
/**
 * Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier.
 *
 * Anyone can access any published security advisory on a public repository.
 *
 * The authenticated user can access an unpublished security advisory from a repository if they are a security manager or administrator of that repository, or if they are a
 * collaborator on the security advisory.
 *
 * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:read` scope to to get a published security advisory in a private repository, or any unpublished security advisory that the authenticated user has access to.
 *
 * @tag security-advisories
 * @path repos/:owner/:repo/security-advisories/:ghsa_id
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOwnerAndRepoAndGhsa_id(connection: IConnection<getByOwnerAndRepoAndGhsa_id.Headers>, owner: string, repo: string, ghsa_id: string): Promise<getByOwnerAndRepoAndGhsa_id.Output>;
export declare namespace getByOwnerAndRepoAndGhsa_id {
    type Headers = IApiReposSecurityAdvisories.GetHeader;
    type Output = repository_minus_advisory;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/repos/:owner/:repo/security-advisories/:ghsa_id";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, ghsa_id: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => repository_minus_advisory;
    const simulate: (connection: IConnection<getByOwnerAndRepoAndGhsa_id.Headers>, owner: string, repo: string, ghsa_id: string) => Output;
}
/**
 * Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier.
 *
 * In order to update any security advisory, the authenticated user must be a security manager or administrator of that repository,
 * or a collaborator on the repository security advisory.
 *
 * OAuth app tokens and personal access tokens (classic) need the `repo` or `repository_advisories:write` scope to use this endpoint.
 *
 * @tag security-advisories
 * @path repos/:owner/:repo/security-advisories/:ghsa_id
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function patchByOwnerAndRepoAndGhsa_id(connection: IConnection<patchByOwnerAndRepoAndGhsa_id.Headers>, owner: string, repo: string, ghsa_id: string, body: patchByOwnerAndRepoAndGhsa_id.Input): Promise<patchByOwnerAndRepoAndGhsa_id.Output>;
export declare namespace patchByOwnerAndRepoAndGhsa_id {
    type Headers = IApiReposSecurityAdvisories.PatchHeader;
    type Input = repository_minus_advisory_minus_update;
    type Output = repository_minus_advisory;
    const METADATA: {
        readonly method: "PATCH";
        readonly path: "/repos/:owner/:repo/security-advisories/:ghsa_id";
        readonly request: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, ghsa_id: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => repository_minus_advisory;
    const simulate: (connection: IConnection<patchByOwnerAndRepoAndGhsa_id.Headers>, owner: string, repo: string, ghsa_id: string, body: patchByOwnerAndRepoAndGhsa_id.Input) => Output;
}
