import { IComGithubFluxcdPkgApisMetaReconcileRequestStatus } from "../../github.com/fluxcd/pkg/apis/meta/ReconcileRequestStatus.js";
import { IComGithubFluxcdPkgApisMetaForceRequestStatus } from "../../github.com/fluxcd/pkg/apis/meta/ForceRequestStatus.js";
import { IIoK8sApimachineryPkgApisMetaV1Condition } from "@kubernetes-models/apimachinery/apis/meta/v1/Condition";
import { IComGithubFluxcdHelmControllerApiV2Snapshots } from "./Snapshots.js";
import { IComGithubFluxcdHelmControllerApiV2ResourceInventory } from "./ResourceInventory.js";
import { IComGithubFluxcdHelmControllerApiV2ReleaseAction } from "./ReleaseAction.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * HelmReleaseStatus defines the observed state of a HelmRelease.
 */
export interface IHelmReleaseStatus extends IComGithubFluxcdPkgApisMetaReconcileRequestStatus, IComGithubFluxcdPkgApisMetaForceRequestStatus {
    /**
     * Conditions holds the conditions for the HelmRelease.
     */
    "conditions"?: Array<IIoK8sApimachineryPkgApisMetaV1Condition>;
    /**
     * Failures is the reconciliation failure count against the latest desired
     * state. It is reset after a successful reconciliation.
     */
    "failures"?: number;
    /**
     * HelmChart is the namespaced name of the HelmChart resource created by
     * the controller for the HelmRelease.
     */
    "helmChart"?: string;
    /**
     * History holds the history of Helm releases performed for this HelmRelease
     * up to the last successfully completed release.
     */
    "history"?: IComGithubFluxcdHelmControllerApiV2Snapshots;
    /**
     * InstallFailures is the install failure count against the latest desired
     * state. It is reset after a successful reconciliation.
     */
    "installFailures"?: number;
    /**
     * Inventory contains the list of Kubernetes resource object references
     * that have been applied for this release.
     */
    "inventory"?: IComGithubFluxcdHelmControllerApiV2ResourceInventory;
    /**
     * LastAttemptedConfigDigest is the digest for the config (better known as
     * "values") of the last reconciliation attempt.
     */
    "lastAttemptedConfigDigest"?: string;
    /**
     * LastAttemptedGeneration is the last generation the controller attempted
     * to reconcile.
     */
    "lastAttemptedGeneration"?: number;
    /**
     * LastAttemptedReleaseAction is the last release action performed for this
     * HelmRelease. It is used to determine the active retry or remediation
     * strategy.
     */
    "lastAttemptedReleaseAction"?: IComGithubFluxcdHelmControllerApiV2ReleaseAction;
    "lastAttemptedReleaseActionDuration"?: string;
    /**
     * LastAttemptedRevision is the Source revision of the last reconciliation
     * attempt. For OCIRepository  sources, the 12 first characters of the digest are
     * appended to the chart version e.g. "1.2.3+1234567890ab".
     */
    "lastAttemptedRevision"?: string;
    /**
     * LastAttemptedRevisionDigest is the digest of the last reconciliation attempt.
     * This is only set for OCIRepository sources.
     */
    "lastAttemptedRevisionDigest"?: string;
    /**
     * LastAttemptedValuesChecksum is the SHA1 checksum for the values of the last
     * reconciliation attempt.
     *
     * Deprecated: Use LastAttemptedConfigDigest instead.
     */
    "lastAttemptedValuesChecksum"?: string;
    /**
     * LastHandledResetAt holds the value of the most recent reset request
     * value, so a change of the annotation value can be detected.
     */
    "lastHandledResetAt"?: string;
    /**
     * LastReleaseRevision is the revision of the last successful Helm release.
     *
     * Deprecated: Use History instead.
     */
    "lastReleaseRevision"?: number;
    /**
     * ObservedCommonMetadataDigest is the digest for the common metadata of
     * the last successful reconciliation attempt.
     */
    "observedCommonMetadataDigest"?: string;
    /**
     * ObservedGeneration is the last observed generation.
     */
    "observedGeneration"?: number;
    /**
     * ObservedPostRenderersDigest is the digest for the post-renderers of
     * the last successful reconciliation attempt.
     */
    "observedPostRenderersDigest"?: string;
    /**
     * StorageNamespace is the namespace of the Helm release storage for the
     * current release.
     */
    "storageNamespace"?: string;
    /**
     * UpgradeFailures is the upgrade failure count against the latest desired
     * state. It is reset after a successful reconciliation.
     */
    "upgradeFailures"?: number;
}
/**
 * HelmReleaseStatus defines the observed state of a HelmRelease.
 */
export declare class HelmReleaseStatus extends Model<IHelmReleaseStatus> implements IHelmReleaseStatus {
    "lastHandledReconcileAt"?: string;
    "lastHandledForceAt"?: string;
    "conditions"?: Array<IIoK8sApimachineryPkgApisMetaV1Condition>;
    "failures"?: number;
    "helmChart"?: string;
    "history"?: IComGithubFluxcdHelmControllerApiV2Snapshots;
    "installFailures"?: number;
    "inventory"?: IComGithubFluxcdHelmControllerApiV2ResourceInventory;
    "lastAttemptedConfigDigest"?: string;
    "lastAttemptedGeneration"?: number;
    "lastAttemptedReleaseAction"?: IComGithubFluxcdHelmControllerApiV2ReleaseAction;
    "lastAttemptedReleaseActionDuration"?: string;
    "lastAttemptedRevision"?: string;
    "lastAttemptedRevisionDigest"?: string;
    "lastAttemptedValuesChecksum"?: string;
    "lastHandledResetAt"?: string;
    "lastReleaseRevision"?: number;
    "observedCommonMetadataDigest"?: string;
    "observedGeneration"?: number;
    "observedPostRenderersDigest"?: string;
    "storageNamespace"?: string;
    "upgradeFailures"?: number;
    constructor(data?: ModelData<IHelmReleaseStatus>);
}
export type { IHelmReleaseStatus as IComGithubFluxcdHelmControllerApiV2HelmReleaseStatus, HelmReleaseStatus as ComGithubFluxcdHelmControllerApiV2HelmReleaseStatus };
