import { IComGithubFluxcdImageAutomationControllerApiV1beta2GitSpec } from "./GitSpec.js";
import { IIoK8sApimachineryPkgApisMetaV1LabelSelector } from "@kubernetes-models/apimachinery/apis/meta/v1/LabelSelector";
import { IComGithubFluxcdImageAutomationControllerApiV1beta2CrossNamespaceSourceReference } from "./CrossNamespaceSourceReference.js";
import { IComGithubFluxcdImageAutomationControllerApiV1beta2UpdateStrategy } from "./UpdateStrategy.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * ImageUpdateAutomationSpec defines the desired state of ImageUpdateAutomation
 */
export interface IImageUpdateAutomationSpec {
    /**
     * GitSpec contains all the git-specific definitions. This is
     * technically optional, but in practice mandatory until there are
     * other kinds of source allowed.
     */
    "git"?: IComGithubFluxcdImageAutomationControllerApiV1beta2GitSpec;
    "interval": string;
    /**
     * PolicySelector allows to filter applied policies based on labels.
     * By default includes all policies in namespace.
     */
    "policySelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector;
    /**
     * SourceRef refers to the resource giving access details
     * to a git repository.
     */
    "sourceRef": IComGithubFluxcdImageAutomationControllerApiV1beta2CrossNamespaceSourceReference;
    /**
     * Suspend tells the controller to not run this automation, until
     * it is unset (or set to false). Defaults to false.
     */
    "suspend"?: boolean;
    /**
     * Update gives the specification for how to update the files in
     * the repository. This can be left empty, to use the default
     * value.
     */
    "update"?: IComGithubFluxcdImageAutomationControllerApiV1beta2UpdateStrategy;
}
/**
 * ImageUpdateAutomationSpec defines the desired state of ImageUpdateAutomation
 */
export declare class ImageUpdateAutomationSpec extends Model<IImageUpdateAutomationSpec> implements IImageUpdateAutomationSpec {
    "git"?: IComGithubFluxcdImageAutomationControllerApiV1beta2GitSpec;
    "interval": string;
    "policySelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector;
    "sourceRef": IComGithubFluxcdImageAutomationControllerApiV1beta2CrossNamespaceSourceReference;
    "suspend"?: boolean;
    "update"?: IComGithubFluxcdImageAutomationControllerApiV1beta2UpdateStrategy;
    constructor(data?: ModelData<IImageUpdateAutomationSpec>);
}
export type { IImageUpdateAutomationSpec as IComGithubFluxcdImageAutomationControllerApiV1beta2ImageUpdateAutomationSpec, ImageUpdateAutomationSpec as ComGithubFluxcdImageAutomationControllerApiV1beta2ImageUpdateAutomationSpec };
