import { IIoK8sApimachineryPkgApisMetaV1Time } from "@kubernetes-models/apimachinery/apis/meta/v1/Time";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1Operation } from "./Operation.js";
import { IComGithubArgoprojGitopsEnginePkgSyncCommonOperationPhase } from "../../github.com/argoproj/gitops-engine/pkg/sync/common/OperationPhase.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncOperationResult } from "./SyncOperationResult.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * OperationState contains information about state of a running operation
 */
export interface IOperationState {
    /**
     * FinishedAt contains time of operation completion
     */
    "finishedAt"?: IIoK8sApimachineryPkgApisMetaV1Time;
    /**
     * Message holds any pertinent messages when attempting to perform operation (typically errors).
     */
    "message"?: string;
    /**
     * Operation is the original requested operation
     */
    "operation": IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1Operation;
    /**
     * Phase is the current phase of the operation
     */
    "phase": IComGithubArgoprojGitopsEnginePkgSyncCommonOperationPhase;
    /**
     * RetryCount contains time of operation retries
     */
    "retryCount"?: number;
    /**
     * StartedAt contains time of operation start
     */
    "startedAt": IIoK8sApimachineryPkgApisMetaV1Time;
    /**
     * SyncResult is the result of a Sync operation
     */
    "syncResult"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncOperationResult;
}
/**
 * OperationState contains information about state of a running operation
 */
export declare class OperationState extends Model<IOperationState> implements IOperationState {
    "finishedAt"?: IIoK8sApimachineryPkgApisMetaV1Time;
    "message"?: string;
    "operation": IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1Operation;
    "phase": IComGithubArgoprojGitopsEnginePkgSyncCommonOperationPhase;
    "retryCount"?: number;
    "startedAt": IIoK8sApimachineryPkgApisMetaV1Time;
    "syncResult"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncOperationResult;
    constructor(data?: ModelData<IOperationState>);
}
export type { IOperationState as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1OperationState, OperationState as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1OperationState };
