import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1DuckTypeGenerator } from "./DuckTypeGenerator.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ClusterGenerator } from "./ClusterGenerator.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1GitGenerator } from "./GitGenerator.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ListGenerator } from "./ListGenerator.js";
import { IIoK8sApiextensionsApiserverPkgApisApiextensionsV1JSON } from "kubernetes-models/apiextensions.k8s.io/v1/JSON";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1PluginGenerator } from "./PluginGenerator.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1PullRequestGenerator } from "./PullRequestGenerator.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGenerator } from "./SCMProviderGenerator.js";
import { IIoK8sApimachineryPkgApisMetaV1LabelSelector } from "@kubernetes-models/apimachinery/apis/meta/v1/LabelSelector";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * ApplicationSetNestedGenerator represents a generator nested within a combination-type generator (MatrixGenerator or
 * MergeGenerator).
 */
export interface IApplicationSetNestedGenerator {
    "clusterDecisionResource"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1DuckTypeGenerator;
    "clusters"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ClusterGenerator;
    "git"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1GitGenerator;
    "list"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ListGenerator;
    /**
     * Matrix should have the form of NestedMatrixGenerator
     */
    "matrix"?: IIoK8sApiextensionsApiserverPkgApisApiextensionsV1JSON;
    /**
     * Merge should have the form of NestedMergeGenerator
     */
    "merge"?: IIoK8sApiextensionsApiserverPkgApisApiextensionsV1JSON;
    "plugin"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1PluginGenerator;
    "pullRequest"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1PullRequestGenerator;
    "scmProvider"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGenerator;
    /**
     * Selector allows to post-filter all generator.
     */
    "selector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector;
}
/**
 * ApplicationSetNestedGenerator represents a generator nested within a combination-type generator (MatrixGenerator or
 * MergeGenerator).
 */
export declare class ApplicationSetNestedGenerator extends Model<IApplicationSetNestedGenerator> implements IApplicationSetNestedGenerator {
    "clusterDecisionResource"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1DuckTypeGenerator;
    "clusters"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ClusterGenerator;
    "git"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1GitGenerator;
    "list"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ListGenerator;
    "matrix"?: IIoK8sApiextensionsApiserverPkgApisApiextensionsV1JSON;
    "merge"?: IIoK8sApiextensionsApiserverPkgApisApiextensionsV1JSON;
    "plugin"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1PluginGenerator;
    "pullRequest"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1PullRequestGenerator;
    "scmProvider"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SCMProviderGenerator;
    "selector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector;
    constructor(data?: ModelData<IApplicationSetNestedGenerator>);
}
export type { IApplicationSetNestedGenerator as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetNestedGenerator, ApplicationSetNestedGenerator as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetNestedGenerator };
