import { IComGithubFluxcdPkgApisMetaReconcileRequestStatus } from "../../github.com/fluxcd/pkg/apis/meta/ReconcileRequestStatus.js";
import { IComGithubFluxcdPkgApisMetaArtifact } from "../../github.com/fluxcd/pkg/apis/meta/Artifact.js";
import { IIoK8sApimachineryPkgApisMetaV1Condition } from "@kubernetes-models/apimachinery/apis/meta/v1/Condition";
import { IComGithubFluxcdSourceControllerApiV1beta2GitRepositoryInclude } from "./GitRepositoryInclude.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
 * GitRepositoryStatus records the observed state of a Git repository.
 */
export interface IGitRepositoryStatus extends IComGithubFluxcdPkgApisMetaReconcileRequestStatus {
    /**
     * Artifact represents the last successful GitRepository reconciliation.
     */
    "artifact"?: IComGithubFluxcdPkgApisMetaArtifact;
    /**
     * Conditions holds the conditions for the GitRepository.
     */
    "conditions"?: Array<IIoK8sApimachineryPkgApisMetaV1Condition>;
    /**
     * ContentConfigChecksum is a checksum of all the configurations related to
     * the content of the source artifact:
     *  - .spec.ignore
     *  - .spec.recurseSubmodules
     *  - .spec.included and the checksum of the included artifacts
     * observed in .status.observedGeneration version of the object. This can
     * be used to determine if the content of the included repository has
     * changed.
     * It has the format of `<algo>:<checksum>`, for example: `sha256:<checksum>`.
     *
     * Deprecated: Replaced with explicit fields for observed artifact content
     * config in the status.
     */
    "contentConfigChecksum"?: string;
    /**
     * IncludedArtifacts contains a list of the last successfully included
     * Artifacts as instructed by GitRepositorySpec.Include.
     */
    "includedArtifacts"?: Array<IComGithubFluxcdPkgApisMetaArtifact>;
    /**
     * ObservedGeneration is the last observed generation of the GitRepository
     * object.
     */
    "observedGeneration"?: number;
    /**
     * ObservedIgnore is the observed exclusion patterns used for constructing
     * the source artifact.
     */
    "observedIgnore"?: string;
    /**
     * ObservedInclude is the observed list of GitRepository resources used to
     * to produce the current Artifact.
     */
    "observedInclude"?: Array<IComGithubFluxcdSourceControllerApiV1beta2GitRepositoryInclude>;
    /**
     * ObservedRecurseSubmodules is the observed resource submodules
     * configuration used to produce the current Artifact.
     */
    "observedRecurseSubmodules"?: boolean;
    /**
     * URL is the dynamic fetch link for the latest Artifact.
     * It is provided on a "best effort" basis, and using the precise
     * GitRepositoryStatus.Artifact data is recommended.
     */
    "url"?: string;
}
/**
 * GitRepositoryStatus records the observed state of a Git repository.
 */
export declare class GitRepositoryStatus extends Model<IGitRepositoryStatus> implements IGitRepositoryStatus {
    "lastHandledReconcileAt"?: string;
    "artifact"?: IComGithubFluxcdPkgApisMetaArtifact;
    "conditions"?: Array<IIoK8sApimachineryPkgApisMetaV1Condition>;
    "contentConfigChecksum"?: string;
    "includedArtifacts"?: Array<IComGithubFluxcdPkgApisMetaArtifact>;
    "observedGeneration"?: number;
    "observedIgnore"?: string;
    "observedInclude"?: Array<IComGithubFluxcdSourceControllerApiV1beta2GitRepositoryInclude>;
    "observedRecurseSubmodules"?: boolean;
    "url"?: string;
    constructor(data?: ModelData<IGitRepositoryStatus>);
}
export type { IGitRepositoryStatus as IComGithubFluxcdSourceControllerApiV1beta2GitRepositoryStatus, GitRepositoryStatus as ComGithubFluxcdSourceControllerApiV1beta2GitRepositoryStatus };
