import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutAnalysisRunStatus } from "./RolloutAnalysisRunStatus.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PingPongType } from "./PingPongType.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1StepPluginStatus } from "./StepPluginStatus.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TrafficWeights } from "./TrafficWeights.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * CanaryStatus status fields that only pertain to the canary rollout
 */
export interface ICanaryStatus {
    /**
     * CurrentBackgroundAnalysisRunStatus indicates the status of the current background analysis run
     */
    "currentBackgroundAnalysisRunStatus"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutAnalysisRunStatus;
    /**
     * CurrentExperiment indicates the running experiment
     */
    "currentExperiment"?: string;
    /**
     * CurrentStepAnalysisRunStatus indicates the status of the current step analysis run
     */
    "currentStepAnalysisRunStatus"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutAnalysisRunStatus;
    /**
     * StablePingPong For the ping-pong feature holds the current stable service, ping or pong
     */
    "stablePingPong"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PingPongType;
    /**
     * StepPluginStatuses holds the status of the step plugins executed
     */
    "stepPluginStatuses"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1StepPluginStatus>;
    /**
     * Weights records the weights which have been set on traffic provider. Only valid when using traffic routing
     */
    "weights"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TrafficWeights;
}
/**
 * CanaryStatus status fields that only pertain to the canary rollout
 */
export declare class CanaryStatus extends Model<ICanaryStatus> implements ICanaryStatus {
    "currentBackgroundAnalysisRunStatus"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutAnalysisRunStatus;
    "currentExperiment"?: string;
    "currentStepAnalysisRunStatus"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1RolloutAnalysisRunStatus;
    "stablePingPong"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1PingPongType;
    "stepPluginStatuses"?: Array<IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1StepPluginStatus>;
    "weights"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TrafficWeights;
    constructor(data?: ModelData<ICanaryStatus>);
}
export type { ICanaryStatus as IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CanaryStatus, CanaryStatus as ComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1CanaryStatus };
