import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1HealthStatus } from "./HealthStatus.js";
import { IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncStatusCode } from "./SyncStatusCode.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * ResourceStatus holds the current synchronization and health status of a Kubernetes resource.
 */
export interface IResourceStatus {
    /**
     * Group represents the API group of the resource (e.g., "apps" for Deployments).
     */
    "group"?: string;
    /**
     * Health indicates the health status of the resource (e.g., Healthy, Degraded, Progressing).
     */
    "health"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1HealthStatus;
    /**
     * Hook is true if the resource is used as a lifecycle hook in an Argo CD application.
     */
    "hook"?: boolean;
    /**
     * Kind specifies the type of the resource (e.g., "Deployment", "Service").
     */
    "kind"?: string;
    /**
     * Name is the unique name of the resource within the namespace.
     */
    "name"?: string;
    /**
     * Namespace defines the Kubernetes namespace where the resource is located.
     */
    "namespace"?: string;
    /**
     * RequiresDeletionConfirmation is true if the resource requires explicit user confirmation before deletion.
     */
    "requiresDeletionConfirmation"?: boolean;
    /**
     * RequiresPruning is true if the resource needs to be pruned (deleted) as part of synchronization.
     */
    "requiresPruning"?: boolean;
    /**
     * Status represents the synchronization state of the resource (e.g., Synced, OutOfSync).
     */
    "status"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncStatusCode;
    /**
     * SyncWave determines the order in which resources are applied during a sync operation.
     * Lower values are applied first.
     */
    "syncWave"?: number;
    /**
     * Version indicates the API version of the resource (e.g., "v1", "v1beta1").
     */
    "version"?: string;
}
/**
 * ResourceStatus holds the current synchronization and health status of a Kubernetes resource.
 */
export declare class ResourceStatus extends Model<IResourceStatus> implements IResourceStatus {
    "group"?: string;
    "health"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1HealthStatus;
    "hook"?: boolean;
    "kind"?: string;
    "name"?: string;
    "namespace"?: string;
    "requiresDeletionConfirmation"?: boolean;
    "requiresPruning"?: boolean;
    "status"?: IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1SyncStatusCode;
    "syncWave"?: number;
    "version"?: string;
    constructor(data?: ModelData<IResourceStatus>);
}
export type { IResourceStatus as IComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ResourceStatus, ResourceStatus as ComGithubArgoprojArgoCdV3PkgApisApplicationV1alpha1ResourceStatus };
