import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PodTemplateMetadata } from "./PodTemplateMetadata.js";
import { IIoK8sApimachineryPkgApisMetaV1LabelSelector } from "@kubernetes-models/apimachinery/apis/meta/v1/LabelSelector";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TemplateService } from "./TemplateService.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ReplicaSetSpecRef } from "./ReplicaSetSpecRef.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * RolloutExperimentTemplate defines the template used to create experiments for the Rollout's experiment canary step
 */
export interface IRolloutExperimentTemplate {
    /**
     * Metadata sets labels and annotations to use for the RS created from the template
     */
    "metadata"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PodTemplateMetadata;
    /**
     * Name description of template that passed to the template
     */
    "name": string;
    /**
     * Replicas replica count for the template
     */
    "replicas"?: number;
    /**
     * Selector overrides the selector to be used for the template's ReplicaSet. If omitted, will
     * use the same selector as the Rollout
     */
    "selector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector;
    /**
     * Service controls the optionally generated service
     */
    "service"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TemplateService;
    /**
     * SpecRef indicates where the rollout should get the RS template from
     */
    "specRef": IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ReplicaSetSpecRef;
    /**
     * Weight sets the percentage of traffic the template's replicas should receive
     */
    "weight"?: number;
}
/**
 * RolloutExperimentTemplate defines the template used to create experiments for the Rollout's experiment canary step
 */
export declare class RolloutExperimentTemplate extends Model<IRolloutExperimentTemplate> implements IRolloutExperimentTemplate {
    "metadata"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PodTemplateMetadata;
    "name": string;
    "replicas"?: number;
    "selector"?: IIoK8sApimachineryPkgApisMetaV1LabelSelector;
    "service"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TemplateService;
    "specRef": IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ReplicaSetSpecRef;
    "weight"?: number;
    constructor(data?: ModelData<IRolloutExperimentTemplate>);
}
export type { IRolloutExperimentTemplate as IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutExperimentTemplate, RolloutExperimentTemplate as ComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutExperimentTemplate };
