import { IComGithubFluxcdImageReflectorControllerApiV1beta2AlphabeticalPolicy } from "./AlphabeticalPolicy.js";
import { IComGithubFluxcdImageReflectorControllerApiV1beta2NumericalPolicy } from "./NumericalPolicy.js";
import { IComGithubFluxcdImageReflectorControllerApiV1beta2SemVerPolicy } from "./SemVerPolicy.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * ImagePolicyChoice is a union of all the types of policy that can be
 * supplied.
 */
export interface IImagePolicyChoice {
    /**
     * Alphabetical set of rules to use for alphabetical ordering of the tags.
     */
    "alphabetical"?: IComGithubFluxcdImageReflectorControllerApiV1beta2AlphabeticalPolicy;
    /**
     * Numerical set of rules to use for numerical ordering of the tags.
     */
    "numerical"?: IComGithubFluxcdImageReflectorControllerApiV1beta2NumericalPolicy;
    /**
     * SemVer gives a semantic version range to check against the tags
     * available.
     */
    "semver"?: IComGithubFluxcdImageReflectorControllerApiV1beta2SemVerPolicy;
}
/**
 * ImagePolicyChoice is a union of all the types of policy that can be
 * supplied.
 */
export declare class ImagePolicyChoice extends Model<IImagePolicyChoice> implements IImagePolicyChoice {
    "alphabetical"?: IComGithubFluxcdImageReflectorControllerApiV1beta2AlphabeticalPolicy;
    "numerical"?: IComGithubFluxcdImageReflectorControllerApiV1beta2NumericalPolicy;
    "semver"?: IComGithubFluxcdImageReflectorControllerApiV1beta2SemVerPolicy;
    constructor(data?: ModelData<IImagePolicyChoice>);
}
export type { IImagePolicyChoice as IComGithubFluxcdImageReflectorControllerApiV1beta2ImagePolicyChoice, ImagePolicyChoice as ComGithubFluxcdImageReflectorControllerApiV1beta2ImagePolicyChoice };
