import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DurationString } from "./DurationString.js";
import { IIoK8sApimachineryPkgApisMetaV1Time } from "@kubernetes-models/apimachinery/apis/meta/v1/Time";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1StepPluginOperation } from "./StepPluginOperation.js";
import { IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1StepPluginPhase } from "./StepPluginPhase.js";
import { ModelData, Model } from "@kubernetes-models/base";
export interface IStepPluginStatus {
    /**
     * Backoff is a duration to wait before trying to execute the operation again if it was not completed
     */
    "backoff"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DurationString;
    /**
     * Disabled indicates if the plugin is globally disabled
     */
    "disabled"?: boolean;
    /**
     * Executions is the number of time the operation was executed
     */
    "executions"?: number;
    /**
     * FinishedAt indicates when the operation was completed
     */
    "finishedAt"?: IIoK8sApimachineryPkgApisMetaV1Time;
    /**
     * Index is the matching step index of the executed plugin
     */
    "index": number;
    /**
     * Message provides details on why the plugin is in its current phase
     */
    "message"?: string;
    /**
     * Name is the matching step name of the executed plugin
     */
    "name": string;
    /**
     * Operation is the name of the operation that produced this status
     */
    "operation": IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1StepPluginOperation;
    /**
     * Phase is the resulting phase of the operation
     */
    "phase"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1StepPluginPhase;
    /**
     * StartedAt indicates when the plugin was first called for the operation
     */
    "startedAt"?: IIoK8sApimachineryPkgApisMetaV1Time;
    /**
     * Status holds the internal status of the plugin for this operation
     */
    "status"?: {};
    /**
     * UpdatedAt indicates when the plugin was last called for the operation
     */
    "updatedAt"?: IIoK8sApimachineryPkgApisMetaV1Time;
}
export declare class StepPluginStatus extends Model<IStepPluginStatus> implements IStepPluginStatus {
    "backoff"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1DurationString;
    "disabled"?: boolean;
    "executions"?: number;
    "finishedAt"?: IIoK8sApimachineryPkgApisMetaV1Time;
    "index": number;
    "message"?: string;
    "name": string;
    "operation": IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1StepPluginOperation;
    "phase"?: IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1StepPluginPhase;
    "startedAt"?: IIoK8sApimachineryPkgApisMetaV1Time;
    "status"?: {};
    "updatedAt"?: IIoK8sApimachineryPkgApisMetaV1Time;
    constructor(data?: ModelData<IStepPluginStatus>);
}
export type { IStepPluginStatus as IComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1StepPluginStatus, StepPluginStatus as ComGithubArgoprojArgoRolloutsPkgApisRolloutsV1alpha1StepPluginStatus };
