import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { body } from "../../../structures/body";
import { full_minus_repository } from "../../../structures/full_minus_repository";
/**
 * Create a repository using a template.
 * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. If the repository is not public, the authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/repos/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.
 *
 * OAuth app tokens and personal access tokens (classic) need the `public_repo` or `repo` scope to create a public repository, and `repo` scope to create a private repository.
 *
 * @param template_owner The account owner of the template repository. The name is not case sensitive.
 * @param template_repo The name of the template repository without the `.git` extension. The name is not case sensitive.
 * @tag repos
 * @path repos/:template_owner/:template_repo/generate
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function postByTemplate_ownerAndTemplate_repo(connection: IConnection, template_owner: string, template_repo: string, body: postByTemplate_ownerAndTemplate_repo.Input): Promise<postByTemplate_ownerAndTemplate_repo.Output>;
export declare namespace postByTemplate_ownerAndTemplate_repo {
    type Input = body;
    type Output = full_minus_repository;
    const METADATA: {
        readonly method: "POST";
        readonly path: "/repos/:template_owner/:template_repo/generate";
        readonly request: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (template_owner: string, template_repo: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => full_minus_repository;
    const simulate: (connection: IConnection, template_owner: string, template_repo: string, body: postByTemplate_ownerAndTemplate_repo.Input) => Output;
}
