import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiUsersPackagesRestore } from "../../../../structures/IApiUsersPackagesRestore";
/**
 * Restore a package for a user.
 * Restores an entire package for a user.
 *
 * You can restore a deleted package under the following conditions:
 * - The package was deleted within the last 30 days.
 * - The same package namespace and version is still available and not reused for a new package. If the same package namespace is not available, you will not be able to restore your package. In this scenario, to restore the deleted package, you must delete the new package that uses the deleted package's namespace first.
 *
 * If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, the authenticated user must 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 `write: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 users/:username/packages/:package_type/:package_name/restore
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function postByUsernameAndPackage_typeAndPackage_name(connection: IConnection<postByUsernameAndPackage_typeAndPackage_name.Headers>, username: string, package_type: string, package_name: string, query: postByUsernameAndPackage_typeAndPackage_name.Query): Promise<void>;
export declare namespace postByUsernameAndPackage_typeAndPackage_name {
    type Headers = IApiUsersPackagesRestore.PostHeader;
    type Query = IApiUsersPackagesRestore.PostQuery;
    const METADATA: {
        readonly method: "POST";
        readonly path: "/users/:username/packages/:package_type/:package_name/restore";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (username: string, package_type: string, package_name: string, query: postByUsernameAndPackage_typeAndPackage_name.Query) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => void;
    const simulate: (connection: IConnection<postByUsernameAndPackage_typeAndPackage_name.Headers>, username: string, package_type: string, package_name: string, query: postByUsernameAndPackage_typeAndPackage_name.Query) => void;
}
