import { IIoK8sApimachineryPkgApisMetaV1Time } from "@kubernetes-models/apimachinery/apis/meta/v1/Time";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TemplateStatusCode } from "./TemplateStatusCode.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * TemplateStatus is the status of a specific template of an Experiment
 */
export interface ITemplateStatus {
    /**
     * Total number of available pods (ready for at least minReadySeconds) targeted by this experiment.
     */
    "availableReplicas": number;
    /**
     * CollisionCount count of hash collisions for the Experiment. The Experiment controller uses this
     * field as a collision avoidance mechanism when it needs to create the name for the
     * newest ReplicaSet.
     */
    "collisionCount"?: number;
    /**
     * LastTransitionTime is the last time the replicaset transitioned, which resets the countdown
     * on the ProgressDeadlineSeconds check.
     */
    "lastTransitionTime"?: IIoK8sApimachineryPkgApisMetaV1Time;
    /**
     * Message is a message explaining the current status
     */
    "message"?: string;
    /**
     * Name of the template used to identity which hash to compare to the hash
     */
    "name": string;
    /**
     * PodTemplateHash is the value of the Replicas' PodTemplateHash
     */
    "podTemplateHash"?: string;
    /**
     * Total number of ready pods targeted by this experiment.
     */
    "readyReplicas": number;
    /**
     * Total number of non-terminated pods targeted by this experiment (their labels match the selector).
     */
    "replicas": number;
    /**
     * ServiceName is the name of the service which corresponds to this experiment
     */
    "serviceName"?: string;
    /**
     * Phase is the status of the ReplicaSet associated with the template
     */
    "status"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TemplateStatusCode;
    /**
     * Total number of non-terminated pods targeted by this experiment that have the desired template spec.
     */
    "updatedReplicas": number;
}
/**
 * TemplateStatus is the status of a specific template of an Experiment
 */
export declare class TemplateStatus extends Model<ITemplateStatus> implements ITemplateStatus {
    "availableReplicas": number;
    "collisionCount"?: number;
    "lastTransitionTime"?: IIoK8sApimachineryPkgApisMetaV1Time;
    "message"?: string;
    "name": string;
    "podTemplateHash"?: string;
    "readyReplicas": number;
    "replicas": number;
    "serviceName"?: string;
    "status"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TemplateStatusCode;
    "updatedReplicas": number;
    constructor(data?: ModelData<ITemplateStatus>);
}
export type { ITemplateStatus as IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TemplateStatus, TemplateStatus as ComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1TemplateStatus };
