import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Argument } from "./Argument.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DryRun } from "./DryRun.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MeasurementRetention } from "./MeasurementRetention.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Metric } from "./Metric.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisTemplateRef } from "./AnalysisTemplateRef.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * AnalysisTemplateSpec is the specification for a AnalysisTemplate resource
 */
export interface IAnalysisTemplateSpec {
    /**
     * Args are the list of arguments to the template
     */
    "args"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Argument>;
    /**
     * DryRun object contains the settings for running the analysis in Dry-Run mode
     */
    "dryRun"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DryRun>;
    /**
     * MeasurementRetention object contains the settings for retaining the number of measurements during the analysis
     */
    "measurementRetention"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MeasurementRetention>;
    /**
     * Metrics contains the list of metrics to query as part of an analysis run
     */
    "metrics"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Metric>;
    /**
     * Templates reference to a list of analysis templates to combine with the rest of the metrics for an AnalysisRun
     */
    "templates"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisTemplateRef>;
}
/**
 * AnalysisTemplateSpec is the specification for a AnalysisTemplate resource
 */
export declare class AnalysisTemplateSpec extends Model<IAnalysisTemplateSpec> implements IAnalysisTemplateSpec {
    "args"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Argument>;
    "dryRun"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DryRun>;
    "measurementRetention"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MeasurementRetention>;
    "metrics"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1Metric>;
    "templates"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisTemplateRef>;
    constructor(data?: ModelData<IAnalysisTemplateSpec>);
}
export type { IAnalysisTemplateSpec as IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisTemplateSpec, AnalysisTemplateSpec as ComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisTemplateSpec };
