import { IIoK8sApimachineryPkgApisMetaV1LabelSelector } from "@kubernetes-models/apimachinery/apis/meta/v1/LabelSelector";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetTemplate } from "./ApplicationSetTemplate.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * ClusterGenerator defines a generator to match against clusters registered with ArgoCD.
 */
export interface IClusterGenerator {
    /**
     * returns the clusters a single 'clusters' value in the template
     */
    "flatList"?: boolean;
    /**
     * Selector defines a label selector to match against all clusters registered with ArgoCD.
     * Clusters today are stored as Kubernetes Secrets, thus the Secret labels will be used
     * for matching the selector.
     */
    "selector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector;
    "template"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetTemplate;
    /**
     * Values contains key/value pairs which are passed directly as parameters to the template
     */
    "values"?: {
        [key: string]: string;
    };
}
/**
 * ClusterGenerator defines a generator to match against clusters registered with ArgoCD.
 */
export declare class ClusterGenerator extends Model<IClusterGenerator> implements IClusterGenerator {
    "flatList"?: boolean;
    "selector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector;
    "template"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetTemplate;
    "values"?: {
        [key: string]: string;
    };
    constructor(data?: ModelData<IClusterGenerator>);
}
export type { IClusterGenerator as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ClusterGenerator, ClusterGenerator as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ClusterGenerator };
