import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisRunMetadata } from "./AnalysisRunMetadata.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisRunArgument } from "./AnalysisRunArgument.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DryRun } from "./DryRun.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MeasurementRetention } from "./MeasurementRetention.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisTemplateRef } from "./AnalysisTemplateRef.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * RolloutAnalysis defines a template that is used to create a analysisRun
 */
export interface IRolloutAnalysis {
    /**
     * AnalysisRunMetadata labels and annotations that will be added to the AnalysisRuns
     */
    "analysisRunMetadata"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisRunMetadata;
    /**
     * Args the arguments that will be added to the AnalysisRuns
     */
    "args"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisRunArgument>;
    /**
     * 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>;
    /**
     * Templates reference to a list of analysis templates to combine for an AnalysisRun
     */
    "templates"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisTemplateRef>;
}
/**
 * RolloutAnalysis defines a template that is used to create a analysisRun
 */
export declare class RolloutAnalysis extends Model<IRolloutAnalysis> implements IRolloutAnalysis {
    "analysisRunMetadata"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisRunMetadata;
    "args"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisRunArgument>;
    "dryRun"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DryRun>;
    "measurementRetention"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1MeasurementRetention>;
    "templates"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisTemplateRef>;
    constructor(data?: ModelData<IRolloutAnalysis>);
}
export type { IRolloutAnalysis as IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutAnalysis, RolloutAnalysis as ComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutAnalysis };
