import { IComGithubFluxcdImageReflectorControllerApiV1beta1TagFilter } from "./TagFilter.js";
import { IComGithubFluxcdPkgApisMetaNamespacedObjectReference } from "../../github.com/fluxcd/pkg/apis/meta/NamespacedObjectReference.js";
import { IComGithubFluxcdImageReflectorControllerApiV1beta1ImagePolicyChoice } from "./ImagePolicyChoice.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * ImagePolicySpec defines the parameters for calculating the
 * ImagePolicy
 */
export interface IImagePolicySpec {
    /**
     * FilterTags enables filtering for only a subset of tags based on a set of
     * rules. If no rules are provided, all the tags from the repository will be
     * ordered and compared.
     */
    "filterTags"?: IComGithubFluxcdImageReflectorControllerApiV1beta1TagFilter;
    /**
     * ImageRepositoryRef points at the object specifying the image
     * being scanned
     */
    "imageRepositoryRef": IComGithubFluxcdPkgApisMetaNamespacedObjectReference;
    /**
     * Policy gives the particulars of the policy to be followed in
     * selecting the most recent image
     */
    "policy": IComGithubFluxcdImageReflectorControllerApiV1beta1ImagePolicyChoice;
}
/**
 * ImagePolicySpec defines the parameters for calculating the
 * ImagePolicy
 */
export declare class ImagePolicySpec extends Model<IImagePolicySpec> implements IImagePolicySpec {
    "filterTags"?: IComGithubFluxcdImageReflectorControllerApiV1beta1TagFilter;
    "imageRepositoryRef": IComGithubFluxcdPkgApisMetaNamespacedObjectReference;
    "policy": IComGithubFluxcdImageReflectorControllerApiV1beta1ImagePolicyChoice;
    constructor(data?: ModelData<IImagePolicySpec>);
}
export type { IImagePolicySpec as IComGithubFluxcdImageReflectorControllerApiV1beta1ImagePolicySpec, ImagePolicySpec as ComGithubFluxcdImageReflectorControllerApiV1beta1ImagePolicySpec };
