import { IIoK8sApimachineryPkgApisMetaV1LabelSelector } from "@kubernetes-models/apimachinery/apis/meta/v1/LabelSelector";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetTemplate } from "./ApplicationSetTemplate.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * DuckType defines a generator to match against clusters registered with ArgoCD.
 */
export interface IDuckTypeGenerator {
    /**
     * ConfigMapRef is a ConfigMap with the duck type definitions needed to retrieve the data
     *              this includes apiVersion(group/version), kind, matchKey and validation settings
     * Name is the resource name of the kind, group and version, defined in the ConfigMapRef
     * RequeueAfterSeconds is how long before the duckType will be rechecked for a change
     */
    "configMapRef": string;
    "labelSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector;
    "name"?: string;
    "requeueAfterSeconds"?: number;
    "template"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetTemplate;
    /**
     * Values contains key/value pairs which are passed directly as parameters to the template
     */
    "values"?: {
        [key: string]: string;
    };
}
/**
 * DuckType defines a generator to match against clusters registered with ArgoCD.
 */
export declare class DuckTypeGenerator extends Model<IDuckTypeGenerator> implements IDuckTypeGenerator {
    "configMapRef": string;
    "labelSelector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector;
    "name"?: string;
    "requeueAfterSeconds"?: number;
    "template"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ApplicationSetTemplate;
    "values"?: {
        [key: string]: string;
    };
    constructor(data?: ModelData<IDuckTypeGenerator>);
}
export type { IDuckTypeGenerator as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1DuckTypeGenerator, DuckTypeGenerator as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1DuckTypeGenerator };
