import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiOrgsPackagesVersions } from "../../../../structures/IApiOrgsPackagesVersions";
import { package_minus_version } from "../../../../structures/package_minus_version";
export * as restore from "./restore";
/**
 * List package versions for a package owned by an organization.
 * Lists package versions for a package owned by an organization.
 *
 * OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint if the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
 *
 * @tag packages
 * @path orgs/:org/packages/:package_type/:package_name/versions
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOrgAndPackage_typeAndPackage_name(connection: IConnection<getByOrgAndPackage_typeAndPackage_name.Headers>, org: string, package_type: string, package_name: string, query: getByOrgAndPackage_typeAndPackage_name.Query): Promise<getByOrgAndPackage_typeAndPackage_name.Output>;
export declare namespace getByOrgAndPackage_typeAndPackage_name {
    type Headers = IApiOrgsPackagesVersions.GetHeader;
    type Query = IApiOrgsPackagesVersions.GetQuery;
    type Output = package_minus_version[];
    const METADATA: {
        readonly method: "GET";
        readonly path: "/orgs/:org/packages/:package_type/:package_name/versions";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string, package_type: string, package_name: string, query: getByOrgAndPackage_typeAndPackage_name.Query) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => package_minus_version[];
    const simulate: (connection: IConnection<getByOrgAndPackage_typeAndPackage_name.Headers>, org: string, package_type: string, package_name: string, query: getByOrgAndPackage_typeAndPackage_name.Query) => Output;
}
/**
 * Get a package version for an organization.
 * Gets a specific package version in an organization.
 *
 * OAuth app tokens and personal access tokens (classic) need the `read:packages` scope to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
 *
 * @tag packages
 * @path orgs/:org/packages/:package_type/:package_name/versions/:package_version_id
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOrgAndPackage_typeAndPackage_nameAndPackage_version_id(connection: IConnection<getByOrgAndPackage_typeAndPackage_nameAndPackage_version_id.Headers>, org: string, package_type: string, package_name: string, package_version_id: string): Promise<getByOrgAndPackage_typeAndPackage_nameAndPackage_version_id.Output>;
export declare namespace getByOrgAndPackage_typeAndPackage_nameAndPackage_version_id {
    type Headers = IApiOrgsPackagesVersions.GetHeader;
    type Output = package_minus_version;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/orgs/:org/packages/:package_type/:package_name/versions/:package_version_id";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string, package_type: string, package_name: string, package_version_id: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => package_minus_version;
    const simulate: (connection: IConnection<getByOrgAndPackage_typeAndPackage_nameAndPackage_version_id.Headers>, org: string, package_type: string, package_name: string, package_version_id: string) => Output;
}
/**
 * Delete package version for an organization.
 * Deletes a specific package version in an organization. If the package is public and the package version has more than 5,000 downloads, you cannot delete the package version. In this scenario, contact GitHub support for further assistance.
 *
 * The authenticated user must have admin permissions in the organization to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must also have admin permissions to the package. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#granular-permissions-for-userorganization-scoped-packages)."
 *
 * OAuth app tokens and personal access tokens (classic) need the `read:packages` and `delete:packages` scopes to use this endpoint. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, the `repo` scope is also required. For the list of these registries, see "[About permissions for GitHub Packages](https://docs.github.com/packages/learn-github-packages/about-permissions-for-github-packages#permissions-for-repository-scoped-packages)."
 *
 * @tag packages
 * @path orgs/:org/packages/:package_type/:package_name/versions/:package_version_id
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function eraseByOrgAndPackage_typeAndPackage_nameAndPackage_version_id(connection: IConnection<eraseByOrgAndPackage_typeAndPackage_nameAndPackage_version_id.Headers>, org: string, package_type: string, package_name: string, package_version_id: string): Promise<void>;
export declare namespace eraseByOrgAndPackage_typeAndPackage_nameAndPackage_version_id {
    type Headers = IApiOrgsPackagesVersions.DeleteHeader;
    const METADATA: {
        readonly method: "DELETE";
        readonly path: "/orgs/:org/packages/:package_type/:package_name/versions/:package_version_id";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (org: string, package_type: string, package_name: string, package_version_id: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<eraseByOrgAndPackage_typeAndPackage_nameAndPackage_version_id.Headers>, org: string, package_type: string, package_name: string, package_version_id: string) => void;
}
