import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ExperimentAnalysisRunStatus } from "./ExperimentAnalysisRunStatus.js";
import { IIoK8sApimachineryPkgApisMetaV1Time } from "@kubernetes-models/apimachinery/apis/meta/v1/Time";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ExperimentCondition } from "./ExperimentCondition.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisPhase } from "./AnalysisPhase.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TemplateStatus } from "./TemplateStatus.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * ExperimentStatus is the status for a Experiment resource
 */
export interface IExperimentStatus {
    /**
     * AnalysisRuns tracks the status of AnalysisRuns associated with this Experiment
     */
    "analysisRuns"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ExperimentAnalysisRunStatus>;
    /**
     * AvailableAt the time when all the templates become healthy and the experiment should start tracking the time to
     * run for the duration of specificed in the spec.
     */
    "availableAt"?: IIoK8sApimachineryPkgApisMetaV1Time;
    /**
     * Conditions a list of conditions a experiment can have.
     */
    "conditions"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ExperimentCondition>;
    /**
     * Message is an explanation for the current status
     */
    "message"?: string;
    /**
     * Phase is the status of the experiment. Takes into consideration ReplicaSet degradations and
     * AnalysisRun statuses
     */
    "phase"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisPhase;
    /**
     * TemplateStatuses holds the ReplicaSet related statuses for individual templates
     */
    "templateStatuses"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TemplateStatus>;
}
/**
 * ExperimentStatus is the status for a Experiment resource
 */
export declare class ExperimentStatus extends Model<IExperimentStatus> implements IExperimentStatus {
    "analysisRuns"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ExperimentAnalysisRunStatus>;
    "availableAt"?: IIoK8sApimachineryPkgApisMetaV1Time;
    "conditions"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ExperimentCondition>;
    "message"?: string;
    "phase"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1AnalysisPhase;
    "templateStatuses"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TemplateStatus>;
    constructor(data?: ModelData<IExperimentStatus>);
}
export type { IExperimentStatus as IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ExperimentStatus, ExperimentStatus as ComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1ExperimentStatus };
