import { IComGithubFluxcdImageReflectorControllerApiV1AlphabeticalPolicy } from "./AlphabeticalPolicy.js";
import { IComGithubFluxcdImageReflectorControllerApiV1NumericalPolicy } from "./NumericalPolicy.js";
import { IComGithubFluxcdImageReflectorControllerApiV1SemVerPolicy } 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"?: IComGithubFluxcdImageReflectorControllerApiV1AlphabeticalPolicy;
    /**
     * Numerical set of rules to use for numerical ordering of the tags.
     */
    "numerical"?: IComGithubFluxcdImageReflectorControllerApiV1NumericalPolicy;
    /**
     * SemVer gives a semantic version range to check against the tags
     * available.
     */
    "semver"?: IComGithubFluxcdImageReflectorControllerApiV1SemVerPolicy;
}
/**
 * ImagePolicyChoice is a union of all the types of policy that can be
 * supplied.
 */
export declare class ImagePolicyChoice extends Model<IImagePolicyChoice> implements IImagePolicyChoice {
    "alphabetical"?: IComGithubFluxcdImageReflectorControllerApiV1AlphabeticalPolicy;
    "numerical"?: IComGithubFluxcdImageReflectorControllerApiV1NumericalPolicy;
    "semver"?: IComGithubFluxcdImageReflectorControllerApiV1SemVerPolicy;
    constructor(data?: ModelData<IImagePolicyChoice>);
}
export type { IImagePolicyChoice as IComGithubFluxcdImageReflectorControllerApiV1ImagePolicyChoice, ImagePolicyChoice as ComGithubFluxcdImageReflectorControllerApiV1ImagePolicyChoice };
