import { IConnection } from "@nestia/fetcher";
import typia from "typia";
import { IApiReposGitRef } from "../../../../structures/IApiReposGitRef";
import { git_minus_ref } from "../../../../structures/git_minus_ref";
/**
 * Get a reference.
 * Returns a single reference from your Git database. The `:ref` in the URL must be formatted as `heads/<branch name>` for branches and `tags/<tag name>` for tags. If the `:ref` doesn't match an existing ref, a `404` is returned.
 *
 * > [!NOTE]
 * > You need to explicitly [request a pull request](https://docs.github.com/rest/pulls/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)".
 *
 * @tag git
 * @path repos/:owner/:repo/git/ref/:ref
 * @nestia Generated by Nestia - https://github.com/samchon/nestia
 */
export declare function getByOwnerAndRepoAndRef(connection: IConnection<getByOwnerAndRepoAndRef.Headers>, owner: string, repo: string, ref: string): Promise<getByOwnerAndRepoAndRef.Output>;
export declare namespace getByOwnerAndRepoAndRef {
    type Headers = IApiReposGitRef.GetHeader;
    type Output = git_minus_ref;
    const METADATA: {
        readonly method: "GET";
        readonly path: "/repos/:owner/:repo/git/ref/:ref";
        readonly request: null;
        readonly response: {
            readonly type: "application/json";
            readonly encrypted: false;
        };
    };
    const path: (owner: string, repo: string, ref: string) => string;
    const random: (g?: Partial<typia.IRandomGenerator>) => git_minus_ref;
    const simulate: (connection: IConnection<getByOwnerAndRepoAndRef.Headers>, owner: string, repo: string, ref: string) => Output;
}
