import { ModelData, Model } from "@kubernetes-models/base";
/**
 * GitRepositoryRef specifies the Git reference to resolve and checkout.
 */
export interface IGitRepositoryRef {
    /**
     * Branch to check out, defaults to 'master' if no other field is defined.
     */
    "branch"?: string;
    /**
     * Commit SHA to check out, takes precedence over all reference fields.
     *
     * This can be combined with Branch to shallow clone the branch, in which
     * the commit is expected to exist.
     */
    "commit"?: string;
    /**
     * Name of the reference to check out; takes precedence over Branch, Tag and SemVer.
     *
     * It must be a valid Git reference: https://git-scm.com/docs/git-check-ref-format#_description
     * Examples: "refs/heads/main", "refs/tags/v0.1.0", "refs/pull/420/head", "refs/merge-requests/1/head"
     */
    "name"?: string;
    /**
     * SemVer tag expression to check out, takes precedence over Tag.
     */
    "semver"?: string;
    /**
     * Tag to check out, takes precedence over Branch.
     */
    "tag"?: string;
}
/**
 * GitRepositoryRef specifies the Git reference to resolve and checkout.
 */
export declare class GitRepositoryRef extends Model<IGitRepositoryRef> implements IGitRepositoryRef {
    "branch"?: string;
    "commit"?: string;
    "name"?: string;
    "semver"?: string;
    "tag"?: string;
    constructor(data?: ModelData<IGitRepositoryRef>);
}
export type { IGitRepositoryRef as IComGithubFluxcdSourceControllerApiV1GitRepositoryRef, GitRepositoryRef as ComGithubFluxcdSourceControllerApiV1GitRepositoryRef };
