import { IComGithubFluxcdHelmControllerApiV2ReleaseAction } from "./ReleaseAction.js";
import { IIoK8sApimachineryPkgApisMetaV1Time } from "@kubernetes-models/apimachinery/apis/meta/v1/Time";
import { IComGithubFluxcdHelmControllerApiV2TestHookStatus } from "./TestHookStatus.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * Snapshot captures a point-in-time copy of the status information for a Helm release,
 * as managed by the controller.
 */
export interface ISnapshot {
    /**
     * Action is the action that resulted in this snapshot being created.
     */
    "action"?: IComGithubFluxcdHelmControllerApiV2ReleaseAction;
    /**
     * APIVersion is the API version of the Snapshot.
     * When the calculation method of the Digest field is changed, this
     * field will be used to distinguish between the old and new methods.
     */
    "apiVersion"?: string;
    /**
     * AppVersion is the chart app version of the release object in storage.
     */
    "appVersion"?: string;
    /**
     * ChartName is the chart name of the release object in storage.
     */
    "chartName": string;
    /**
     * ChartVersion is the chart version of the release object in
     * storage.
     */
    "chartVersion": string;
    /**
     * ConfigDigest is the checksum of the config (better known as
     * "values") of the release object in storage.
     * It has the format of `<algo>:<checksum>`.
     */
    "configDigest": string;
    /**
     * Deleted is when the release was deleted.
     */
    "deleted"?: IIoK8sApimachineryPkgApisMetaV1Time;
    /**
     * Digest is the checksum of the release object in storage.
     * It has the format of `<algo>:<checksum>`.
     */
    "digest": string;
    /**
     * FirstDeployed is when the release was first deployed.
     */
    "firstDeployed": IIoK8sApimachineryPkgApisMetaV1Time;
    /**
     * LastDeployed is when the release was last deployed.
     */
    "lastDeployed": IIoK8sApimachineryPkgApisMetaV1Time;
    /**
     * Name is the name of the release.
     */
    "name": string;
    /**
     * Namespace is the namespace the release is deployed to.
     */
    "namespace": string;
    /**
     * OCIDigest is the digest of the OCI artifact associated with the release.
     */
    "ociDigest"?: string;
    /**
     * Status is the current state of the release.
     */
    "status": string;
    /**
     * TestHooks is the list of test hooks for the release as observed to be
     * run by the controller.
     */
    "testHooks"?: {
        [key: string]: IComGithubFluxcdHelmControllerApiV2TestHookStatus;
    };
    /**
     * Version is the version of the release object in storage.
     */
    "version": number;
}
/**
 * Snapshot captures a point-in-time copy of the status information for a Helm release,
 * as managed by the controller.
 */
export declare class Snapshot extends Model<ISnapshot> implements ISnapshot {
    "action"?: IComGithubFluxcdHelmControllerApiV2ReleaseAction;
    "apiVersion"?: string;
    "appVersion"?: string;
    "chartName": string;
    "chartVersion": string;
    "configDigest": string;
    "deleted"?: IIoK8sApimachineryPkgApisMetaV1Time;
    "digest": string;
    "firstDeployed": IIoK8sApimachineryPkgApisMetaV1Time;
    "lastDeployed": IIoK8sApimachineryPkgApisMetaV1Time;
    "name": string;
    "namespace": string;
    "ociDigest"?: string;
    "status": string;
    "testHooks"?: {
        [key: string]: IComGithubFluxcdHelmControllerApiV2TestHookStatus;
    };
    "version": number;
    constructor(data?: ModelData<ISnapshot>);
}
export type { ISnapshot as IComGithubFluxcdHelmControllerApiV2Snapshot, Snapshot as ComGithubFluxcdHelmControllerApiV2Snapshot };
