import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1KustomizeImages } from "./KustomizeImages.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1KustomizePatches } from "./KustomizePatches.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1KustomizeReplicas } from "./KustomizeReplicas.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * ApplicationSourceKustomize holds options specific to an Application source specific to Kustomize
 */
export interface IApplicationSourceKustomize {
    /**
     * APIVersions specifies the Kubernetes resource API versions to pass to Helm when templating manifests. By default,
     * Argo CD uses the API versions of the target cluster. The format is [group/]version/kind.
     */
    "apiVersions"?: Array<string>;
    /**
     * CommonAnnotations is a list of additional annotations to add to rendered manifests
     */
    "commonAnnotations"?: {
        [key: string]: string;
    };
    /**
     * CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values
     */
    "commonAnnotationsEnvsubst"?: boolean;
    /**
     * CommonLabels is a list of additional labels to add to rendered manifests
     */
    "commonLabels"?: {
        [key: string]: string;
    };
    /**
     * Components specifies a list of kustomize components to add to the kustomization before building
     */
    "components"?: Array<string>;
    /**
     * ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
     */
    "forceCommonAnnotations"?: boolean;
    /**
     * ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
     */
    "forceCommonLabels"?: boolean;
    /**
     * IgnoreMissingComponents prevents kustomize from failing when components do not exist locally by not appending them to kustomization file
     */
    "ignoreMissingComponents"?: boolean;
    /**
     * Images is a list of Kustomize image override specifications
     */
    "images"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1KustomizeImages;
    /**
     * KubeVersion specifies the Kubernetes API version to pass to Helm when templating manifests. By default, Argo CD
     * uses the Kubernetes version of the target cluster.
     */
    "kubeVersion"?: string;
    /**
     * LabelIncludeTemplates specifies whether to apply common labels to resource templates or not
     */
    "labelIncludeTemplates"?: boolean;
    /**
     * LabelWithoutSelector specifies whether to apply common labels to resource selectors or not
     */
    "labelWithoutSelector"?: boolean;
    /**
     * NamePrefix is a prefix appended to resources for Kustomize apps
     */
    "namePrefix"?: string;
    /**
     * NameSuffix is a suffix appended to resources for Kustomize apps
     */
    "nameSuffix"?: string;
    /**
     * Namespace sets the namespace that Kustomize adds to all resources
     */
    "namespace"?: string;
    /**
     * Patches is a list of Kustomize patches
     */
    "patches"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1KustomizePatches;
    /**
     * Replicas is a list of Kustomize Replicas override specifications
     */
    "replicas"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1KustomizeReplicas;
    /**
     * Version controls which version of Kustomize to use for rendering manifests
     */
    "version"?: string;
}
/**
 * ApplicationSourceKustomize holds options specific to an Application source specific to Kustomize
 */
export declare class ApplicationSourceKustomize extends Model<IApplicationSourceKustomize> implements IApplicationSourceKustomize {
    "apiVersions"?: Array<string>;
    "commonAnnotations"?: {
        [key: string]: string;
    };
    "commonAnnotationsEnvsubst"?: boolean;
    "commonLabels"?: {
        [key: string]: string;
    };
    "components"?: Array<string>;
    "forceCommonAnnotations"?: boolean;
    "forceCommonLabels"?: boolean;
    "ignoreMissingComponents"?: boolean;
    "images"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1KustomizeImages;
    "kubeVersion"?: string;
    "labelIncludeTemplates"?: boolean;
    "labelWithoutSelector"?: boolean;
    "namePrefix"?: string;
    "nameSuffix"?: string;
    "namespace"?: string;
    "patches"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1KustomizePatches;
    "replicas"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1KustomizeReplicas;
    "version"?: string;
    constructor(data?: ModelData<IApplicationSourceKustomize>);
}
export type { IApplicationSourceKustomize as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSourceKustomize, ApplicationSourceKustomize as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSourceKustomize };
